はじめに
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月 | 100 | 450 |
A店 | 2月 | 150 | 450 |
A店 | 3月 | 200 | 450 |
B店 | 1月 | 120 | 390 |
B店 | 2月 | 130 | 390 |
B店 | 3月 | 140 | 390 |
このように、sumOver
関数は「各グループの合計値を、各行に繰り返し表示」します。
この繰り返しの表示が、後の計算式やフィルタリングに便利です。
応用例:全体合計をすべての行に表示する
sumOver({売上}, [])
グループ指定を空にすると、全体の合計がすべての行に表示されます。
店舗名 | 月 | 売上 | 全体合計 |
---|---|---|---|
A店 | 1月 | 100 | 840 |
A店 | 2月 | 150 | 840 |
A店 | 3月 | 200 | 840 |
B店 | 1月 | 120 | 840 |
B店 | 2月 | 130 | 840 |
B店 | 3月 | 140 | 840 |
この値を利用すれば、「各行が全体の中でどれくらいの割合か」を計算することもできます。
おわりに
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