takashi
1
■実現したいこと
売上実績データの集計において、ピボットテーブルを組んでいるが、行・列で対応するデータがない(集計分類に一致する製品の売上データが対象期間に存在しない)場合は、0と表示させたい
具体的には
集計分類は5つあるのだが、売上日のフィルターをいじると、期間によって、表に集計される集計分類が3つや4つだけになってしまうのをさけ、データがないところは0でかえしたい。
■作成中のピボットテーブルについて
行:
・担当者名(文字型)
・集計分類(文字型)・・・売り上げた製品コードの分類カテゴリ。計算フィールドでもたせてる
列
・売上日(日付型)
値
・売上金額
ytakahr
2
@takashi さん、QuickSight Communityへのご質問ありがとうございます!
フィルター後の日付範囲において、ピボットの行に設定したディメンションに該当するファクトデータが存在しない場合でもゼロ表示させたいと理解しました。
ファクトデータそのものが無い場合にはゼロ表示することはできないため、事前にデータソース側で売上日、担当者、集計分類の組み合わせに対し売上金額がゼロとなるようなレコードをSQLを使い作成しておく必要があります。具体的には以下のような処理になるかと思います。
- DISTINCT を使用して、存在する値の一意のリストを取得
- CROSS JOIN で全ての組み合わせを生成
- LEFT JOIN で実際のデータと結合
- COALESCE で NULL を 0 に変換
リレーショナルなデータセット(例. Athena, Redshiftなど)をお使いの場合にはカスタムSQLで実行することも可能かと思いますので、ご確認いただけますでしょうか。