用量
视图:my_view {
derived_table: {
datagroup_trigger: my_datagroup
...
}
}
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
}
}
基于由名为 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,请注意不要指定不兼容的数据组缓存政策。