Loading
Salesforce から送信されるメールは、承認済ドメインからのみとなります続きを読む

集計フィールドを使用してテーブル計算の詳細レベルを定義する

公開日: Jul 20, 2023
説明
ビュー内のパーティションをテーブル計算や IF ステートメントなどの集計フィールドで作成し、パーティションごとに異なる結果を別のテーブル計算が返す必要がある場合、集計フィールドはテーブル計算の [使用する計算] オプションに表示されません。

たとえば、次の計算で定義する「高」、「中」、「低」の 3 つのカテゴリーのいずれかに顧客が該当する場合、

IF SUM([売上]) < 500
THEN "低"
ELSEIF SUM([売上]) < 5000
THEN "中"
ELSE "高"
END

[顧客名] がこのビンのビューに含まれていて正しく計算される必要があります。いっぽう、[顧客名] がビューに含まれていると、ビュー内のマークは [顧客名] で分割されるので、カテゴリーごとに 1 つの売上合計が得られません。
解決策

オプション 1:


集計計算を詳細レベル (LOD) の式 FIXED でラップします。FIXED 式はディメンションに変換できる非集計結果を返します。添付のワークブックの例では、"Superstore (スーパーストア)" サンプル データ セットを使用して次の方法を示しています。

  1. 「FIXED 売上カテゴリー」などの名前を付けて、次のような計算フィールドを作成します。

    { FIXED [顧客名] : [売上カテゴリー] }

  2. ビュー内の [売上カテゴリー] を [FIXED 売上カテゴリー] に置き換えます。
  3. マーク カードから [顧客名] を削除します。

オプション 2:


テーブル計算の内外で元のロジックを使用する計算を作成します。添付のワークブックの例では、"Superstore (スーパーストア)" サンプル データ セットを使用して次の方法を示しています。
 

  1. 「売上カテゴリーごとの売上」などの名前を付けて、次のような計算フィールドを作成します。

    IF SUM([売上]) < 500
    THEN
    WINDOW_SUM(
    IF SUM([売上]) < 500
    THEN SUM([売上])
    END
    )
     
    ELSEIF SUM([売上]) < 5000
    THEN
     
    WINDOW_SUM(
    IF SUM([売上]) < 5000
    THEN SUM([売上])
    END
    )

    ELSE

    WINDOW_SUM(
    IF SUM([売上]) >= 5000
    THEN SUM([売上])
    END
    )
    END

  2. [売上カテゴリー] を [行] シェルフにドラッグします。
  3. [顧客名] をマーク カードの [詳細] にドラッグします。
  4. [売上カテゴリーごとの売上] を [列] シェルフにドラッグします。
  5. [売上カテゴリーごとの売上] を右クリックして、[使用する計算] > [顧客名] を選択します。
  6. [売上カテゴリーごとの売上] を [列] シェルフからマークカードの [ラベル] へ [Ctrl] を押しながらドラッグします。
  7. [分析] > [スタック マーク] > [オフ] に移動します。
その他のリソース
オプション 2 の計算は冗長に見えるかもしれませんが、すべての IF ステートメントが必要です。WINDOW_SUM()式の IF ステートメントは、WINDOW_SUM() で足し合わされるデータを制限します。1 つのカテゴリーの WINDOW_SUM() の結果は、すべてのカテゴリーに表示されます。そのため、WINDOW_SUM() 式は、必要なカテゴリーに必要な結果のみを返す別の IF ステートメント内に配置する必要があります。


ナレッジ記事番号

001473424

添付ファイル

using aggregation as bins.twbx

1205 KB

 
読み込み中
Salesforce Help | Article