Nutzung
explore: explore_name {
symmetric_aggregates: yes
}
|
Hierarchie
symmetric_aggregates |
Standardwert
yes
Akzeptiert
Ein boolescher Wert (yes oder no)
|
Definition
Mit dem Parameter symmetric_aggregates wird festgelegt, ob symmetrische Summen in einem bestimmten Explore angewendet werden. Wenn symmetric_aggregates aktiviert ist, geben Aggregatfunktionen korrekte Ergebnisse zurück, auch wenn Joins zu einem Fanout führen. Symmetrische Summen werden auf der Best Practices-Seite Symmetrische Summen ausführlicher beschrieben. Das Fanout-Problem, das dadurch behoben wird, wird im Community-Beitrag Das Problem von SQL-Fanouts erläutert.
Standardmäßig sind symmetrische Summen für alle Explores in Looker aktiviert. Das bedeutet, dass wenn Ihr SQL-Dialekt symmetrische Summen unterstützt, Sie den symmetric_aggregates Parameter nur einfügen müssen, wenn Sie diese Funktion für einen Explore deaktivieren möchten.
Beispiele
Symmetrische Summen für den Explore product aktivieren:
explore: product {
symmetric_aggregates: yes # the default value, could be excluded
}
Symmetrische Summen für den Explore customer deaktivieren:
explore: customer {
symmetric_aggregates: no
}
Wichtige Punkte
Joins sorgfältig erstellen, wenn symmetrische Summen deaktiviert sind
Symmetrische Summen verhindern, dass bestimmte Berechnungen falsche Ergebnisse liefern, wenn ein Join zu einem Fanout führt. Wenn Ihr Dialekt symmetrische Summen nicht unterstützt oder Sie sie deaktivieren, müssen Sie bei der Ausführung von Joins in Looker besonders vorsichtig sein. Dieses Problem sowie die entsprechenden Behelfslösungen werden ausführlich im Community-Beitrag Das Problem von SQL-Fanouts beschrieben.
Nicht alle Datenbankdialekte unterstützen Messwerttypen für Median und Perzentil mit symmetrischen Summen
Wenn symmetrische Summen aktiviert sind, konvertiert Looker die Messwerttypen percentile und median automatisch in percentile_distinct und median_distinct, wenn ein Join einen Fanout umfasst. Nicht alle Datenbankdialekte, die symmetrische Summen unterstützen, unterstützen die Messwerttypen percentile_distinct und median_distinct. Auf der Dokumentationsseite Messwerttypen können Sie sehen, ob Ihr Datenbankdialekt diese Messwerttypen unterstützt.
Wenn Sie eine Fehlermeldung wie SQL dialect doesn't support Symmetric Aggregates with percentiles, field ignored. erhalten, unterstützt Ihr Datenbankdialekt die Messwerttypen percentile_distinct und median_distinct nicht. Um dieses Problem zu umgehen, ändern Sie den Messwerttyp in type: number und geben Sie dann die Aggregatfunktion mit sql: median(${dimension}) an. Dadurch werden jedoch symmetrische Summen deaktiviert.
Dialektunterstützung für symmetrische Summen
Die Möglichkeit, symmetrische Summen zu verwenden, hängt von dem Datenbankdialekt ab, den Ihre Looker-Verbindung verwendet. In der neuesten Version von Looker unterstützen die folgenden Dialekte Aggregate Awareness:
| Dialekt | Unterstützt? |
|---|---|
| Actian Avalanche | |
| Amazon Athena | |
| Amazon Aurora MySQL | |
| Amazon Redshift | |
| Amazon Redshift 2.1+ | |
| Amazon Redshift Serverless 2.1+ | |
| Apache Druid | |
| Apache Druid 0.13+ | |
| Apache Druid 0.18+ | |
| Apache Hive 2.3+ | |
| Apache Hive 3.1.2+ | |
| Apache Spark 3+ | |
| ClickHouse | |
| Cloudera Impala 3.1+ | |
| Cloudera Impala 3.1+ with Native Driver | |
| Cloudera Impala with Native Driver | |
| DataVirtuality | |
| Databricks | |
| Denodo 7 | |
| Denodo 8 & 9 | |
| Dremio | |
| Dremio 11+ | |
| Exasol | |
| Google BigQuery Legacy SQL | |
| Google BigQuery Standard SQL | |
| Google Cloud AlloyDB for PostgreSQL | |
| Google Cloud PostgreSQL | |
| Google Cloud SQL | |
| Google Spanner | |
| Greenplum | |
| HyperSQL | |
| IBM Netezza | |
| MariaDB | |
| Microsoft Azure PostgreSQL | |
| Microsoft Azure SQL Database | |
| Microsoft Azure Synapse Analytics | |
| Microsoft SQL Server 2008+ | |
| Microsoft SQL Server 2012+ | |
| Microsoft SQL Server 2016 | |
| Microsoft SQL Server 2017+ | |
| MongoBI | |
| MySQL | |
| MySQL 8.0.12+ | |
| Oracle | |
| Oracle ADWC | |
| PostgreSQL 9.5+ | |
| PostgreSQL pre-9.5 | |
| PrestoDB | |
| PrestoSQL | |
| SAP HANA | |
| SAP HANA 2+ | |
| SingleStore | |
| SingleStore 7+ | |
| Snowflake | |
| Teradata | |
| Trino | |
| Vector | |
| Vertica |