Lookerで日付のFILTERを設定しようとしたら、型エラーが出ることがありますのでその場合の対策をメモしておきます。
発生イメージ
下図のように、データ型が異なる為、抽出出来ません的なエラーメッセージが発生。
データ型をみて見ると
日付(DATE)型で定義されているので、型をStringに変換しないとダメそう。
対策方法(LookMLの修正)
LookMLを開くと、sql部分のコードは以下のように初期設定されている。
dimension_group: Date {
type: time
timeframes: [
raw,
date,
week,
month,
quarter,
year
]
convert_tz: no
datatype: date
sql: ${TABLE}.Date ;; ## この部分でCAST(データの型変換)してあげれば行けそう
}
修正後
sqlのところにCASTのコードを追加して保存する。
dimension_group: Date {
type: time
timeframes: [
raw,
date,
week,
month,
quarter,
year
]
convert_tz: no
datatype: date
sql: CAST(${TABLE}.Date AS string) ;; ## CASTで型変換してString型に
}
FILTER使えるように
上記手順でデータ型を変換することで、以下のようにFILTER機能が使えるように。
まとめ
Looker上で型エラーが出た場合 → LookMLで型変換すれば大体なんとかなる!
しかし、型変換の部分はいい感じに自動解釈して変換してくれるとありがたいのですが、その場合、型が異なることでFILTERが誤って変換されるリスクもあるかもしれない。。。と考えると、これはこれで良いのか。と思います。