数据组触发器

用量

视图:my_view {
derived_table: {
datagroup_trigger: my_datagroup
...
}
}
层次结构
datagroup_trigger
默认值


接受
模型文件中定义的数据组的名称

定义

datagroup_trigger 可让您指定用作派生表的缓存政策的数据组。数据集本身使用 datagroup 参数在模型文件中定义。

如果将 datagroup_trigger 参数添加到派生表,便可使派生表成为永久性派生表 (PDT)。该表将写入数据库的暂存架构中,并按 datagroup 参数指定的方式重新生成。

如果您为自己的 PDT 使用了 datagroup_trigger,则无需使用 sql_trigger_valuepersist_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,请注意不要指定不兼容的数据组缓存政策。