[小ネタ] Amazon QuickSight で特定日付までにあるアイテムの累計個数を表示したい

2024.05.07

特定日付までに存在するアイテムの累計個数を表示させたいです。

例えば以下のような遷移のグラフです。 横軸(X軸)が時間、 縦軸(Y軸)が「それまでの時間でのアイテムの累計個数」となります。

img

累積合計や累積カウントはよくある分析の1つではあると思います。 そんな初歩的なところですが、ハマったので備忘録として残します。

題材のインプット(データソース)

AWSアカウント情報(Name, ID)と組織への参加日(JoinedTimestamp)を含んだ、 シンプルなCSVをデータソースとします。

AWS Account Name AWS Account ID JoinedTimestamp
Payer 111111111111 2023/01/15 04:45:22
Security 222222222222 2023/02/20 12:30:55
LogArchive 333333333333 2023/02/20 12:31:42
Sandbox 444444444444 2023/04/12 03:20:46
Service1-DEV 555555555555 2023/06/17 23:15:39
Service1-STG 666666666666 2023/06/18 08:50:21
Service1-PRD 777777777777 2023/07/22 16:45:08
Network-STG 888888888888 2023/10/08 05:30:15
Network-PRD 999999999999 2023/12/10 20:40:54

アイテムの累計個数の表示方法

1. runningSum を使って計算フィールドを追加する

[+ 計算フィールド] を選択します。

img

以下のような計算を記載して保存します。 runningSum 関数および sum 関数を使います。

runningSum(sum(1), [{JoinedTimestamp} ASC])

img

running-sum 計算フィールドが追加されました。

img

2. ビジュアル(折れ線グラフ)を追加する

ビジュアルを追加、折れ線グラフを選択します。

img

X軸に JoinedTimestamp 、 値に 先ほど作成した running-sum を追加します。

img

累計個数(= AWSアカウント数の遷移)をグラフ化できました!

補足: runningSum と runningCount

似たような関数に runningCount があります。 以下のとおり、どちらも似たような説明です。

runningSum 関数は、指定されたディメンションおよびソート順序に基づいて、メジャーの累計を計算します。

– 引用: runningSum - Amazon QuickSight

runningCount 関数は、指定されたディメンションおよびソート順序に基づいて、メジャーの数またはディメンションを計算します。

– 引用: runningCount - Amazon QuickSight

当初 runningCount を使って runningCount(count({AWS Account ID}), [JoinedTimestamp ASC]) といった計算フィールドを作っていましたが、 今回の出したいグラフにはなりませんでした。

runningCount は X軸の集計によってY軸の値が変わります。 以下にX軸の集計を変えたときの runningSum と runningCount の変化の違いを記載します

img

▲ 画像: X軸集計 = 秒(SECOND)

img

▲ 画像: X軸集計 = 日(DAY)

img

▲ 画像: X軸集計 = 月(MONTH)

img

▲ 画像: X軸集計 = 年(YEAR)

おわりに

初歩的なところですが、躓いたのでブログにしました。 参考になれば幸いです。

参考