home User Guide Getting Started Help Center Documentation Community Training Certification
menu
close
settings
Looker keyboard_arrow_down
language keyboard_arrow_down
English
Français
Deutsch
日本語
search
print
symmetric_aggregates

Usage

explore: explore_name {
  symmetric_aggregates: yes
}

Hierarchy

symmetric_aggregates

Default Value

yes

Accepts

A 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 this Community topic, and the problem they solve is explained in this blog post.

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 list shows which dialects support symmetric aggregates in the most recent Looker release:

Examples

Turn on symmetric aggregates for the product Explore:

explore: product { symmetric_aggregates: yes # the default value, could be excluded }

Turn off symmetric aggregates for the customer Explore:

explore: customer { symmetric_aggregates: no }

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 this blog post.

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.

Top