Tech Waves

produced by Hakuhodo DY ONE

Looker 年度フィルタを作ってみる

こんにちは、北見です🦥

Lookerでデータを年度単位で見たいときってありますよね。

会計が年度粒度である場合、年度ごとのKPI進捗を見ていく場合…など色々あると思いますが、デフォルトでは「年度」という日付フィルターは用意されていません。ページを開く度に『デフォルトの日付フィルターで4/1–3/31に変更して…』といった作業を行うのは少々面倒な気もします。

今回はそんな時に使える、「Lookerで年度でフィルターする方法」を2つシェアします!

 

1. fiscal yearを使う方法

イチオシポイント☝️

  • 日付のdimension_groupに入れられるので階層構造ができる

イマイチポイント🌀

  • 閲覧ユーザーからすると英語なので直感的には分かりづらそう

こんな時に使えそう💡

  • Lookerのフィルター操作に慣れている人がダッシュボードを見る場合
  • 日付階層を作っておく必要がある場合


🔨設定

以下のようにModelの設定を行うことで、fiscal yearという会計年度の粒度でフィルタリングが可能になります!

connection: connection_test
include: '*.view.lkml'
fiscal_month_offset: 3
  • fiscal_month_offset:は暦年から何ヶ月ズレているかを宣言します。
  • 日本の会計年度は多くの場合4月始まりなので、デフォルトが1月スタートになっているのを3ヶ月オフセットする必要があります。
    • この場合は使用するデータのmodelファイルにfiscal_month_offset:3というパラメータを加えて、4月始まりの扱いにします。


👀ダッシュボードでの見え方

  • 「今年度」を選びたい場合
    • matches(advanced)を選択して、その右のテキストボックスにthis fiscal yearと入力すると、今年度のデータでフィルタリングできます。

  • 「任意の年度」を選びたい場合
    • matches(advanced)を選択して、テキストボックスにFY2024の形で入力すると、その年度のデータでフィルタリングできます。

 

2. SQLを書いて作る方法(おすすめ!)

イチオシポイント☝️

  • 「○○年度」という慣れた表現でフィルターがかけられる

イマイチポイント🌀

  • 日付のdimension_groupとは別物として作成するので、フィルター以外の活用は難しそう

こんな時に使えそう💡

  • フィルター操作を直感的にする場合
  • 年度の中でさらに日付を絞ってフィルタリングする場合


🔨設定

以下のようにviewで定義しておくことで、年度のフィルタリングが可能になります!

  dimension: fiscal_year_filter {
    type: string
    label: "年度フィルタ用"
    sql:
    CONCAT(
      CAST(
        IF(EXTRACT(MONTH FROM ${TABLE}.date)<4,EXTRACT(YEAR FROM ${TABLE}.date)-1,EXTRACT(YEAR FROM ${TABLE}.work_date))
      as string)
      ,"年度"
    )
         ;;
    }
         
  • YYYY-MM-DDで入っている日付データで、1月~3月なら前年、4月~12月ならその年を「年度」として文字列で表示させています。


👀ダッシュボードでの見え方

  • 「○○年度」という表示で選び、フィルタリングできます。
  • 通常の日付フィルターと併用して、「2025年度の4月を見る」ということも可能です。


3. 参考記事


4. おわりに

今回ご紹介した方法で、Lookerでも「年度」単位の集計や分析が少しラクになるはずです!

意外と「年度」の単位でフィルターをかけたくて困っている人は多いのではと思いますので、ぜひ試してみてください🦥

それでは、よきLookerライフを〜!