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

rollup 修飾子と grouping() 関数を使用した総計と小計の計算

group by ステートメントで rollup 修飾子を使用して、SAQL クエリでグループ化したデータの小計を計算した後、grouping() を使用して小計データを操作します。たとえば、種別とリードソース別に商談の小計金額を表示するには、種別グループとリードソースグループを積み上げ集計します。次に grouping 関数を使用して、小計に表示ラベルを付けます。

rollup を呼び出すと、null 値のディメンションと、基準の小計結果を含む行がクエリ結果に追加されます。grouping() は、上位レベルの集計のためにディメンション値が null の場合 (通常、該当の行が小計であることを意味します) は 1 を返し、それ以外の場合は 0 を返します。

rollupgrouping() と共に使用すると、小計データを操作できます。一般に、データの小計を計算したら、次に case ステートメントを使用して小計データを論理的に評価します。または、条件ステートメントを使用して、小計されたデータを絞り込みます。

商談データセットがあり、リードソースと種別ごとに商談の値を確認するとします。さらに、すべてのリードソースと種別の合計金額を参照する必要があるとします。種別とリードソース別にグループ化された商談金額の合計を返すクエリを記述します。すべてのリードソースとすべての種別の値を確認するには、rollup を使用して商談を小計し、次に grouping() を使用して、小計行に表示ラベルを付けます。

例: rollup

ダッシュボードで SAQL エディターを開きます。項目別にデータをグループ化する代わりに、rollup 修飾子をグループとして指定し、小計する項目に、パラメーターとして「種別とリードソース」を渡します。q = group q by rollup('Type', 'LeadSource'); と設定します。次に、完全なクエリを示します。

1q = load "opportunityData";
2q = group q by rollup('Type', 'LeadSource');
3q = order q by ('Type', 'LeadSource');
4q = foreach q generate
5    'Type' as 'Type',
6    'LeadSource' as 'LeadSource',
7    sum('Amount') as 'sum_Amount';

クエリ結果には、商談種別の総額が表示され、続いてリードソース別の総額が表示されます。小計行と総計行の基準には null 値が含まれます。

rollup ステートメントを使用して計算された小計と総計

例: grouping()

合計の表示ラベルに null 値が使用されていると、クエリ結果について誤解をまねく可能性があります。この誤解を避けるために、case ステートメントで grouping() 関数を使用して、合計に「All Types (全種別)」または「All Lead Sources (全リードソース)」の表示ラベルを付けます。

1q = load "opportunityData";
2q = group q by rollup('Type', 'LeadSource');
3q = order q by ('Type', 'LeadSource');
4q = foreach q generate
5    (case
6        when grouping('Type') == 1 then "All Types"
7        else 'Type'
8    end) as 'Type',
9    (case
10        when grouping('LeadSource') == 1 then "All Lead Sources"
11        else 'LeadSource'
12    end) as 'LeadSource',
13    sum('Amount') as 'sum_Amount';

これでクエリ結果に表示ラベル付き合計が含まれます。

rollup ステートメントを使用して計算され、grouping ステートメントを使用して表示ラベルが付けられた小計と総計