Amazon QuickSightのKPIで前年比(前年差)を出す方法

2024.04.19

データアナリティクス事業本部の武田です。

今日は、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年前の期間の売上合計

そこで、下記二つの計算フィールドを用意します。

  • 検索条件に該当する期間の売上だけ
  • 検索条件の1年前の期間の売上だけ
  • 計算式は下記の通りIFELSE関数を使います。

    検索条件の1年前の期間の売上だけの場合も同じようにIFELSE関数を使って用意しました。 これで、必要な準備は整いましたので、ビジュアルセットして出来上がりです。

    振り返り

    前年比較は、BIツールでやると少し手間がかかります。

    まずはゴールのイメージを明確にして、そのゴールのために必要なカラムの状態を考えます。カラムの状態をイメージし、そのカラムをどうやって作り出すかをゴールから逆算して考えていきます。一つずつステップを踏むと、自力で作れるようになると思います。