QuickSightで用意されている日付ギャップオプションを試してみた

2021.03.23

いわさです。

QuickSightで時系列のデータを年月で集計し、グラフ表示しました。
対象年月のデータが0件(歯抜け)だった場合のオプションがQuickSightには用意されていますので、試してみました。

本日はGlueやAthenaを使ってSPICEへロードする部分については触れません。
Microsoft ExcelファイルからSPICEへ直接アップロード取込を行います。

以降の手順で簡単にQuickSight上でのグラフ表示まで出来るので、HelloWorld的にグラフ表示させてみたい!という方にも参考になるかもしれません。

※QuickSightのサブスクリプション登録は済んでいる前提です。

Excelファイルアップロードで簡単にデータ取り込み

Microsoft Excelで表データを作成しQuickSightからのデータセット画面でアップロードするだけでSPICEへのデータロードが出来ます。

時系列の商品販売数、販売日などを想定した以下のExcelファイルを作成しました。

QuickSightのデータセット画面から、"新しいデータセット"を作成します。

"ファイルのアップロード"を選択します。

Excelファイルの場合はシートの選択を行います。
今回用意したExcelファイルの場合はシート選択以外はデフォルトのままで次へ進んで良いです。

アップロード設定をカスタマイズする場合は以下を参考にしてください。

データソースの詳細確認画面にて、"視覚化する"を選択します。
そうすると選択したデータセットを使った分析画面に遷移します。

SPICEへのインポートに数秒かかります。

グラフを作成

フィールドリストに取り込まれたデータ項目が表示されていると思います。
今回は、"月毎に商品を合計いくつ販売開始したか"のグラフを作成してみたいと思います。

フィールドには青アイコンの測定(メジャー)と、緑アイコンのディメンションがあります。
グラフの軸となる、数量(amount)と販売日(sale_date)を選択します。

なお、データ型で自動判定されますが、測定⇔ディメンションの変更は可能です。

ビジュアルタイプは左上のオートグラフが選択されていると思うので、"垂直棒グラフ"を選択しました。

グラフが作成されました。
取り込んだレコード10件のデータが棒グラフとして並んでいます。
年月による集計はまだされていません。

集計処理と歯抜け対応

では、ここから年月の集計と歯抜けの対応をしていきたいと思います。

"sale_date" ラベルをクリックすると、オプションのコンテキストメニューが表示されます。
"集計:日"になっていますので、"月"を選択します。

年月で集計されました。
"amout"ラベルはデフォルトで"合計"が選択されています。
必要に応じてAgerageを選択するなどしてください。

また、表示形式についても年月日ではなく年月のフォーマットにするなど適宜選択をしましょう。

さて、この時点では 2021年2月のデータが表示されていません。
2020年2月のレコードが1件もないためです。
しかし、0件であることを示すために軸としては表示したいケースが多いと思います。

グラフ右上の歯車マークからX軸の設定を開きます。
設定項目の"日付のギャップを表示"にチェックを入れます。

2021年2月が表示されました。

この日付ギャップ表示機能を使うためにはX軸フィールド値が"日付型"である必要があります。
文字列型の場合は事前の変換などが必要になりますのでご注意ください。