![[Looker21.12新機能] dev_filters を使ってNDTでも開発時のクエリにフィルタをかける  #looker](https://devio2023-media.developers.io/wp-content/uploads/2023/06/looker-in-google_1200x630.png)
[Looker21.12新機能] dev_filters を使ってNDTでも開発時のクエリにフィルタをかける #looker
この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。
先日公開した下記ブログで、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で開発できますね!










