[Looker21.12新機能] dev_filters を使ってNDTでも開発時のクエリにフィルタをかける #looker
先日公開した下記ブログで、SQL派生テーブル開発時にクエリにwhere句をつけて大きなクエリを自動で防ぐ方法をご紹介しました。
if prod if devを派生テーブルで使用うする場合、SQLのfrom句/where句にベタがきで記述するため、LookMLを使用した派生テーブル(NDT)では使用できませんでした。
しかし、NDTでも開発モードでクエリが回っている際にはフィルターをかけてくれるdev_filters
パラメータが、7月にリリースされたLooker21.12で登場しました!
本記事では新顔のdev_filters
パラメータの動作を確認します。
実践
ECサイトの管理Explore上でユーザーのライフタイムオーダー数を計算する派生テーブルをNDTで作成します。 ライフタイムオーダー数を出すので、本番であれば全データを対象に計算したいですが、開発では問題なくクエリが走っているかを確認できればいいので、期間を1ヶ月(30日)に設定します。
view: lifetime_order { derived_table: { explore_source: order_items { column: order_count {} column: id { field: users.id } dev_filters: [order_items.created_date: "30 days"] } } dimension: order_count { type: number } dimension: id { type: number } }
開発モードSQL
開発モードではwhere句が生成されています。
本番モードのSQL
本番モードではwhere句は生成されていません。よしよし。
まとめ
新入りパラメータdev_filters
を使ってみました!これで安心してでかいテーブルでもNDTで開発できますね!