【Tableau Prep】累積合計、累積平均を出す方法

【Tableau Prep】累積合計、累積平均を出す方法 | Tableau-id Press -タブロイド-
Tableau Prep

Tableau Desktopの表計算用関数にはRUNNING_SUM(累積合計)、RUNNING_AVG(累積平均)を出す関数があり、使ったことある方もいらっしゃると思います。
では同じことをTableau Prepで行うにはどうしたらよいでしょうか?Tableau PrepではRUNNING_SUM、RUNNING_AVGは使えません。

そこで、結合(Join)と集計の合わせ技でやる方法をご紹介します!

サンプルデータと期待結果

■サンプルデータ
こちらが今回使うデータです。店舗と、四半期ごとの売り上げフィールドを持っています。

■期待結果
ここに、店舗×年ごとの売上累計列を新たに持たせたいと思います。

 

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系関数は何でもできると思います。
このやり方のデメリットとしては、データのレコード数が多い場合、
累積計算用の結合をした際にレコードが増えすぎてしまい、実行が重くなってしまうところかと思います。
データ量と相談しつつお試しください!