Usage
symmetric_aggregates: yes
}
Hierarchysymmetric_aggregates |
Default Valueyes AcceptsA Boolean (yes or no )
|
Definition
The symmetric_aggregates
parameter determines whether or not symmetric aggregates will be applied within a given Explore. When symmetric_aggregates
is on, aggregate functions return correct results, even when joins result in a fanout. Symmetric aggregates are described in more detail in A simple explanation of symmetric aggregates Help Center article, and the fanout problem they solve is explained in The problem of SQL fanouts article.
By default, symmetric aggregates are turned on for every Explore within Looker. This means that if your SQL dialect supports symmetric aggregates, it’s only necessary to include the symmetric_aggregates
parameter if you’d like to disable that functionality for an Explore.
The following table shows which dialects support symmetric aggregates in Looker 22.6:
Examples
Turn on symmetric aggregates for the product
Explore:
Turn off symmetric aggregates for the customer
Explore:
Things to know
Create joins carefully when symmetric aggregates are off
Symmetric aggregates protect certain calculations from giving incorrect results when a join results in a fanout. Therefore, if your dialect does not support symmetric aggregates, or you choose to turn them off, you will need to be careful when executing joins in Looker. This problem and the workarounds for it are described in great detail in The problem of SQL fanouts Help Center article).
Not all database dialects support median and percentile measure types with symmetric aggregates
When symmetric aggregates are enabled, Looker automatically converts the percentile
and median
measure types to percentile_distinct
and median_distinct
when a join involves a fanout. Not all database dialects that support symmetric aggregates support the percentile_distinct
and median_distinct
measure types. You can see whether your database dialect supports the percentile_distinct
and median_distinct
measure types on the Measure types documentation page.
If you receive an error similar to SQL dialect doesn't support Symmetric Aggregates with percentiles, field ignored.
, this indicates that your database dialect does not support the percentile_distinct
and median_distinct
measure types. To work around this, change the measure type to type: number
and then specify the aggregate function with sql: median(${dimension})
. This disables symmetric aggregates, however.