用法
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。
示例
创建一个名为 customer_orders 的永久性原生派生表,当名为 order_datagroup 的数据组触发时,该表会重建:
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
}
}
基于 SQL 查询创建 customer_orders 永久性派生表,该表在由名为 etl_datagroup 的数据组触发时重建:
view: customer_orders {
derived_table: {
sql:
SELECT
customer_id,
COUNT(*) AS lifetime_orders
FROM
order
GROUP BY 1 ;;
datagroup_trigger: etl_datagroup
}
}
常见挑战
如果您有依赖于其他 PDT 的 PDT,请注意不要指定不兼容的数据组缓存政策。