はじめに

QuickSightで分析をしていると、「行単位の値」ではなく「グループ単位の合計」などを列として出したいときがあります。そんなときに活用できるのが sumOver 関数です。
この記事では、sumOver 関数の基本的な使い方に加え、具体的な実例を紹介します。

例として使うデータ

以下のような売上データを想定します。

・店舗名
・月
・売上

店舗名売上
A店1月100
A店2月150
A店3月200
B店1月120
B店2月130
B店3月140

基本のsumOver関数の書き方

sumOver({売上}, [{店舗名}])

この関数は、「店舗名ごとの売上の合計」を計算し、すべての行にその合計を表示します。

関数を使うとどうなるか?

上記の関数を適用した場合、以下のような表示になります。

店舗名売上店舗別合計
A店1月100450
A店2月150450
A店3月200450
B店1月120390
B店2月130390
B店3月140390

このように、sumOver 関数は「各グループの合計値を、各行に繰り返し表示」します。
この繰り返しの表示が、後の計算式やフィルタリングに便利です。

応用例:全体合計をすべての行に表示する

sumOver({売上}, [])

グループ指定を空にすると、全体の合計がすべての行に表示されます。

店舗名売上全体合計
A店1月100840
A店2月150840
A店3月200840
B店1月120840
B店2月130840
B店3月140840

この値を利用すれば、「各行が全体の中でどれくらいの割合か」を計算することもできます。

おわりに

sumOver は、QuickSightで「グループ単位の集計」を表の中で活用するための非常に便利な関数です。
通常の sum() ではできない、「グループ合計を列として表示する」ことができるため、活用次第でレポートの見やすさや分析の柔軟性が大きく向上します。
実際の業務データに合わせて応用してみてください。


参考

sumOver – Amazon QuickSight
https://docs.aws.amazon.com/ja_jp/quicksight/latest/user/sumOver-function.html
【初心者向け】QuickSight計算フィールドとパラメータ・コントロールの使用方法 #AWS – Qiita
https://qiita.com/33_nag227/items/8bf9491b08ca62e531dd