Tableau Desktopの表計算用関数にはRUNNING_SUM(累積合計)、RUNNING_AVG(累積平均)を出す関数があり、使ったことある方もいらっしゃると思います。
では同じことをTableau Prepで行うにはどうしたらよいでしょうか?Tableau PrepではRUNNING_SUM、RUNNING_AVGは使えません。
そこで、結合(Join)と集計の合わせ技でやる方法をご紹介します!
サンプルデータと期待結果
サンプルデータ
こちらが今回使うデータです。店舗と、四半期ごとの売り上げフィールドを持っています。
期待結果
ここに、店舗×年ごとの売上累計列を新たに持たせたいと思います。
RUNNING_SUM(累積合計)フローの作成方法
RUNNING_SUM(累積合計)フロー全体像
今回作るフローの全体像がこちらです。Stepごとに手順を説明していきます。
Step1:累計計算用クリーニングステップ追加
クリーニングステップを追加します。ここでは処理は何も行いません。
このデータは次のステップで使用します。
Step2:売上データと計算用Stepで追加したデータをJoinする
結合を追加し、結合キーを次のように設定します。
Quarterは「>=」でQuarterが自身の値以上のデータを結合する(非等価結合にする)のがポイントです。
このように設定することで、
2021Q1は2021Q1
2021Q2は2021Q1, 2021Q2
2021Q3は2021Q1, 2021Q2, 2021Q3
・・・
のようにデータが結合されます。
Step3:累積合計を出す
集計を追加します。
店舗, Year, Quarterでグループ化、計算用ステップで結合した側の売上を合計(SUM)すると、累積合計が出せます。
単Quarterの売上高も残したいため、売上高の最小値(MIN)を出します(MAXでもどちらでも良いです)。
Step3:リネーム
累積合計を出した列名を「売上高(百万円)_累積合計」にリネームします。
Step4:出力確認
生成したデータを出力し、確認します。
順不同になっているので並び替えます。
店舗ごと、年ごとに売上累積が出せています。
最初に提示した期待結果とも一致しているので、これで完成です!
RUNNING_AVG(累積平均)フローの作成方法
RUNNING_AVGもやり方はRUNNING_SUMと同じです。
Step3:の集計(SUM)を平均(AVG)、Step4:の列名変更を「売上高(百万円)_累積平均」
に変えて実行すれば、次のように出力されます。
累積平均も出せましたね!
【おわりに】
今回はRUNNING_SUMとRUNNING_AVGのやり方をご紹介しましたが、同じ手順でRUNNING系関数は何でもできると思います。
このやり方のデメリットとしては、データのレコード数が多い場合、
累積計算用の結合をした際にレコードが増えすぎてしまい、実行が重くなってしまうところかと思います。
データ量と相談しつつお試しください!
truestarはマーケティング及びデータ分析の経験と技術を生かしたコンサルティングサービスを強みとしています。
当社のサービスにつきましては、こちらのお問い合わせフォームからお気軽にご相談ください!