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

期間比較(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"
  }
  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. 完成

2 Likes