coalesce
パラメーターのリストから最初の null 以外の値を取得する、または null を別の値に置き換えるには、coalesce () を使用します。
1coalesce(value1 , value2 , value3 , ... )引数はすべて、結果の型となる共通のデータ型に変換可能である必要があります。
この関数は多くの場合、表示用にデータを取得するときに、null 値をデフォルト値に置き換えるために使用されます。次に例を示します。
SELECT COALESCE(description, short_description, '(none)') ...
上記の例は、null でない場合は description を返し、それ以外で null でない場合は short_description を返し、それ以外の場合は (none) を返します。
例: coalesce() を使用した左外部共通グルーピング
左外部共通グルーピングは、右データストリームを左データストリームと結合します。左ストリームのレコードが右ストリームと一致しない場合、欠落した右の値は null として取り込まれます。null 値を別の値に置き換えるには、coalesce() を使用します。
たとえば、Salesforce の行動オブジェクトのミーティング情報データセットがあって、それを Salesforce の商談オブジェクトのデータと結合するとします。これにより、成立した商談額とミーティングに使った合計時間が表示されます。
1ops = load "Ops";
2meetings = load "Meetings";
3q = cogroup ops by 'Account' left, meetings by 'Company' ;
4q = foreach q generate ops.'Account' as 'Account', sum(ops.'Amount') as 'sum_Amount', sum(meetings.'MeetingDuration') as 'TimeSpent';Zen Retreats ではミーティングを行わなかったようです。

この null 値をゼロに変更するには、coalesce() を使用します。
1ops = load "Ops";
2meetings = load "Meetings";
3q = cogroup ops by 'Account' left, meetings by 'Company' ;
4
5–-use coalesce() to replace null values with zero
6q = foreach q generate ops.'Account' as 'Account', sum(ops.'Amount') as 'sum_Amount', coalesce(sum(meetings.'MeetingDuration'), 0) as 'TimeSpent';