datagroup_trigger

用法

view: 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
  }
}

基于 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,请注意不要指定不兼容的数据组缓存政策。