Amazon QuickSightのKPIで前年比(前年差)を出す方法
データアナリティクス事業本部の武田です。
今日は、Amazon QuickSightのKPIで前年比や前年差を出す方法について解説します。 一覧表テーブルや棒グラフ等で、年月カラムを軸に入れた状態であれば、関数を使って出すことができます。
この関数は一覧表テーブルに表示すること前提としています。今回は、テーブルではなく、KPIで数字だけを出したい時に使う方法です。
想定データ
今回も、Tableauをインストールしたときについてくる「サンプルスーパーストア」のデータを使います。 オーダー日別の注文データです。
KPIで出したい前年比のイメージ(ゴールイメージ)
今回は画面に検索条件として期間を指定することを想定します。 検索条件に該当する期間の売上合計と、検索条件の1年前の期間の売上合計を比較して、前年差(前年比)を出したいとします。
KPIの設定をするのに必要なデータのレイアウトを考える
このゴールイメージを作るのに必要となるデータのレイアウトを考えます。 KPIの場合、ドラッグして入れなければならないのは、「値」と「ターゲット値」の二つです。(トレンドグループは必須ではありません)
それぞれに何を入れたら、ゴールイメージになるかを考えます。
- 値=検索条件に該当する期間の合計金額
- ターゲット値=検索条件の1年前の期間の売上合計
ということは、このようなデータのレイアウトが作れたら、ゴールのKPI数字が表示できそうです。
作ってみよう
このデータのレイアウトを実現する方法を考えます。
検索条件に該当する期間の合計金額を出すには、パラメーターで期間開始日(FROM)と期間終了日(TO)を作り、それに該当するデータだけを抽出できるよう、フィルタを設定します。
しかし、このフィルタをセットすると、検索条件の1年前のデータは除外されてしまいます。検索条件の1年前のデータも抽出してくれるようにするにはどうしたらいいかを考えます。
検索条件は2022年1月~2022年12月で入力されてくるけれども、抽出してほしいデータのオーダー日は2021年1月~2021年12月となるので、計算フィールドでオーダー日の1年後になる「オーダー日+1年」というカラムを追加します。
そのオーダー日の1年後カラムを「OR」で検索条件でフィルタするようにします。
ORの設定の仕方は、この赤い四角のところから設定します。
試しに、一覧表テーブルで検索した結果を出してみると、1年前のデータもちゃんと抽出されていました。
これでフィルタはできました。しかし、単純にこの売上カラムを合計すると、検索条件に該当する期間+検索条件の1年前の期間の売上金額になってしまいます。
必要なのは、下記のようなカラムです。
- 値=検索条件に該当する期間の合計金額
- ターゲット値=検索条件の1年前の期間の売上合計
そこで、下記二つの計算フィールドを用意します。
計算式は下記の通りIFELSE関数を使います。
検索条件の1年前の期間の売上だけの場合も同じようにIFELSE関数を使って用意しました。 これで、必要な準備は整いましたので、ビジュアルセットして出来上がりです。
振り返り
前年比較は、BIツールでやると少し手間がかかります。
まずはゴールのイメージを明確にして、そのゴールのために必要なカラムの状態を考えます。カラムの状態をイメージし、そのカラムをどうやって作り出すかをゴールから逆算して考えていきます。一つずつステップを踏むと、自力で作れるようになると思います。