期間比較(Period-over-Period)するのに、要件によって、いろんなやり方がありますが、この記事では、ダッシュボードのフィルタで特定の月を指定した際に、指定した月から過去X年分のデータを裏側で取得し、月での期間比較をできるようにします。
最終アウトプットはこのようになります。
ダッシュボードのフィルタにて、2021年5月を指定しています。(ちなみダッシュボードネクスト・・URLにdashboard-nextと入っている方です・・から、フィルタにて、このような柔軟な時間指定ができるようになりました。)
LookML
1.時間のfilterフィールドを作成します
このfilterフィールドの値を元に、次のステップで過去X年を計算していきます。ダッシュボード上では、このfilterフィールドに、時間のフィルターをかけてください
filter: current_date_range {
type: date
label: "1. Current Date Range"
}
-
過去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 %});; } -
次にExploreにて、タイルの元ネタを作ります
月のdimension(この場合は、上記の計算でcreated_dateを使っているので、そのdimension groupから月のタイムフレームを選んでます)および、年のdimnesonでピボットし、対象のmeasureを選択します。また、忘れずに2で作成したis_24_monthのdimensionをYesでフィルターしてください。ここで過去X年のフィルターがされます
-
完成