Usage
view: my_view { derived_table: { datagroup_trigger: my_datagroup ... } }
Hierarchy
datagroup_trigger |
Default Value
None
Accepts
The name of a datagroup defined in the model file
|
Definition
datagroup_trigger
lets you specify the datagroup to use as a caching policy for the derived table. The datagroup itself is defined in the model file using the datagroup
parameter.
Adding the datagroup_trigger
parameter to a derived table makes the derived table a persistent derived table (PDT). The table is written into a scratch schema on your database and regenerated as specified by the datagroup
parameter.
If you use datagroup_trigger
for your PDT, you don't need to use the sql_trigger_value
or persist_for
parameters. If you do, you will get a warning in the Looker IDE, and only the datagroup_trigger
will be used.
Examples
Create a persistent native derived table called customer_orders
that is rebuilt when triggered by the datagroup named 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
}
}
Create a customer_orders
persistent derived table based on a SQL query that is rebuilt when triggered by the datagroup called etl_datagroup
:
view: customer_orders {
derived_table: {
sql:
SELECT
customer_id,
COUNT(*) AS lifetime_orders
FROM
order
GROUP BY 1 ;;
datagroup_trigger: etl_datagroup
}
}
Common challenges
If you have PDTs that are dependent on other PDTs, be careful not to specify incompatible datagroup caching policies.