4
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Lookerで日付フィルタを設定する場合は、Date型→String型へ変換しよう

Last updated at Posted at 2019-10-30

Lookerで日付のFILTERを設定しようとしたら、型エラーが出ることがありますのでその場合の対策をメモしておきます。

発生イメージ

下図のように、データ型が異なる為、抽出出来ません的なエラーメッセージが発生。
スクリーンショット 2019-10-30 23.06.35.png

データ型をみて見ると

日付(DATE)型で定義されているので、型をStringに変換しないとダメそう。
スクリーンショット 2019-10-30 23.12.39.png

対策方法(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機能が使えるように。

スクリーンショット 2019-10-30 23.39.15.png

まとめ

Looker上で型エラーが出た場合 → LookMLで型変換すれば大体なんとかなる!

しかし、型変換の部分はいい感じに自動解釈して変換してくれるとありがたいのですが、その場合、型が異なることでFILTERが誤って変換されるリスクもあるかもしれない。。。と考えると、これはこれで良いのか。と思います。

4
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?