用途
view: my_view { derived_table: { datagroup_trigger: my_datagroup ... } }
|
階層
datagroup_trigger |
デフォルト値
なし
許可
モデルファイルで定義されたデータグループの名前 |
定義
datagroup_trigger を使用すると、派生テーブルのキャッシュ ポリシーとして使用するデータグループを指定できます。データグループ自体は、datagroup パラメータを使用してモデルファイルで定義されます。
派生テーブルに datagroup_trigger パラメータを追加すると、派生テーブルが永続的な派生テーブル(PDT)になります。テーブルはデータベースのスクラッチ スキーマに書き込まれ、datagroup パラメータで指定されたとおりに再生成されます。
PDT に datagroup_trigger を使用する場合は、sql_trigger_value パラメータまたは persist_for パラメータを使用する必要はありません。その場合、Looker IDE に警告が表示され、datagroup_trigger のみが使用されます。
例
order_datagroup という名前のデータグループによってトリガーされたときに再構築される、customer_orders という名前の永続的なネイティブ派生テーブルを作成します。
view: customer_orders {
derived_table: {
explore_source: order {
column: customer_id { field: order.customer_id }
column: lifetime_orders { field: order.lifetime_orders }
}
datagroup_trigger: order_datagroup
}
}
etl_datagroup という名前のデータグループによってトリガーされたときに再構築される SQL クエリに基づいて、customer_orders 永続派生テーブルを作成します。
view: customer_orders {
derived_table: {
sql:
SELECT
customer_id,
COUNT(*) AS lifetime_orders
FROM
order
GROUP BY 1 ;;
datagroup_trigger: etl_datagroup
}
}
一般的な課題
他のPDTとの依存関係があるPDTの場合は、矛盾するデータグループキャッシングポリシーを指定しないよう注意してください。