ダッシュボード上で、フィルタで月を指定し、指定した月から過去2年分の期間比較をする

 期間比較(Period-over-Period)するのに、要件によって、いろんなやり方がありますが、この記事では、ダッシュボードのフィルタで特定の月を指定した際に、指定した月から過去X年分のデータを裏側で取得し、月での期間比較をできるようにします。

最終アウトプットはこのようになります。

385519c4-dbe7-4a21-9279-b8c0444386d4.png

ダッシュボードのフィルタにて、2021年5月を指定しています。(ちなみダッシュボードネクスト・・URLにdashboard-nextと入っている方です・・から、フィルタにて、このような柔軟な時間指定ができるようになりました。)

LookML

      1.時間のfilterフィールドを作成します

  このfilterフィールドの値を元に、次のステップで過去X年を計算していきます。ダッシュボード上では、このfilterフィールドに、時間のフィルターをかけてください

filter: current_date_range {
type: date
label: "1. Current Date Range"
}
  1. 過去X年を計算するdimensionと、日付がこの過去X年の範囲内であるかを判定するdimensionを作成します。今回の例では、過去2年なので、24ヶ月で差分を取るように書いていますまた、liquid変数`{% date_start current_date_range %}`は、1のフィルタで選択された期間の開始日を取得するものになります。もし、指定されたendを取得したい場合は、`{% date_end current_date_range %}`を使います。
     dimension_group: 24months_period {
    type: time
    timeframes: [month,date]
    sql: dateadd(month, -24 , {% date_start current_date_range %}) ;;
    }

    dimension: is_24_month {
    type: yesno
    sql: ${created_date} >= ${24months_period_date} and ${created_date} < dateadd('month', 1, {% date_start current_date_range %});;

    }
  2. 次にExploreにて、タイルの元ネタを作ります
    月のdimension(この場合は、上記の計算でcreated_dateを使っているので、そのdimension groupから月のタイムフレームを選んでます)および、年のdimnesonでピボットし、対象のmeasureを選択します。

    また、忘れずに2で作成したis_24_monthのdimensionをYesでフィルターしてください。ここで過去X年のフィルターがされます
  3. ab5567d0-9e18-4d0c-b301-f932b5d9b2aa.png

    完成

2 0 922