この文章は Salesforce 機械翻訳システムを使用して翻訳されました。詳細はこちらをご参照ください。
英語に切り替える

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';

ミーティングデータセットを表示している図。