LookerでUNNESTが使いたかった
こちらの記事のようにカンマで区切られた値が入った列を、UNNESTで展開した状態でLookerで扱いたかった。
公式にUNNESTを扱うパターンが載っていたのでこちらを見よう見まねでやってみた。
explore: sales {
join: sales_billing_date {
sql: LEFT JOIN UNNEST(SPLIT(billing_date, ",")) as billing_date ;;
relationship: one_to_many
}
}
view: sales_billing_date {
dimension: billing_date {
type: date
sql: billing_date;;
}
}
だが、フィルター条件に指定すると元の文字型のまま扱ってしまうようで表示はできても検索条件に使えないイマイチな状態になってしまった。
もしかしたら他にも方法があるのかもしれないが、おおもとのBigQueryで展開済みのViewを作っておくのが早そう。
派生テーブルも使えるかも。
※追記
派生テーブルを使った方がこのようにスッキリ書けた。
また、フィルター条件はtime型にすることでできるようになった。
view: sales {
derived_table: {
sql:
SELECT
sales.*,
splited_billing_date
FROM
project.dataset.sales AS sales
LEFT JOIN UNNEST(SPLIT(billing_date, ",")) AS splited_billing_date
;;
}
dimension_group: billing_date {
type: time
timeframes: [
raw,
date,
week,
month,
quarter,
year
]
convert_tz: no
datatype: date
sql: DATE(${TABLE}.splited_billing_date) ;;
}
ディスカッション
コメント一覧
まだ、コメントがありません