🔍
【Looker】LookMLで年度のディメンションを定義する
やりたかったこと
今年度の売上と前年度の売上の比較などを行う際に、データベース(BigQuery)には年度のカラムがなく、LookML側で年度のディメンションが欲しかった。
ディメンションの定義
ここでは例として売上テーブルの請求日(billing_date
)から請求年度を求めます。
salesビューの定義に次のディメンションを定義します。
views/sales.view.lkml
dimension: billing_fy {
label: "請求年度"
type: string
description: "会計年度は4月から翌3月"
sql: CONCAT(
CAST(
IF(EXTRACT(MONTH FROM ${TABLE}.billing_date) >= 4
, EXTRACT(YEAR FROM ${TABLE}.billing_date)
, EXTRACT(YEAR FROM ${TABLE}.billing_date) -1
) as STRING)
, '年度'
)
;;
}
この組織は会計年度が4月から翌3月なので、EXTRACTを使って請求月が4~12月ならば年をそのまま採用し、1~3月ならば年からマイナス1して得られた年をそのデータの発生年度とします。
結果
このように請求日から請求年度が得られます。
こんな感じで、フィルター条件に使ったりもできます。
同じようなやり方で半期や四半期のディメンションも定義できます。
GitHubで編集を提案
Discussion