symmetric_aggregates

用途

explore: explore_name {
  symmetric_aggregates: yes
}
階層
symmetric_aggregates
デフォルト値
yes

許可
ブール値(yes または no

定義

symmetric_aggregates パラメータは、特定の Explore 内で対称集計を適用するかどうかを決定します。symmetric_aggregates がオンの場合、結合によってファンアウトが発生しても、集計関数は正しい結果を返します。対称集計については、対称集計についてのおすすめの方法のページで詳しく説明されています。また、対称集計で解決されるファンアウトの問題については、SQL ファンアウトの問題のコミュニティ投稿で説明されています。

デフォルトでは、Looker 内のすべての Explore で対称集計がオンになっています。つまり、SQL 言語が対称集計をサポートしている場合、Explore でその機能を無効にする場合にのみ symmetric_aggregates パラメータを含める必要があります。

product Explore で対称集計をオンにする:

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

customer Explore で対称集計をオフにする:

explore: customer {
  symmetric_aggregates: no
}

注意点

対称集計がオフの場合は、結合を慎重に作成する

対称集計は、結合によってファンアウトが発生した場合に、特定の計算で誤った結果が出ないように保護します。したがって、言語が対称集計をサポートしていない場合や、対称集計をオフにした場合は、Looker で結合を実行する際に注意する必要があります。この問題とその回避策については、コミュニティ投稿の SQL ファンアウトの問題 で詳しく説明されています。

すべてのデータベース言語が、対称集計による中央値とパーセンタイルのメジャータイプをサポートしているわけではない

対称集計が有効になっている場合、結合にファンアウトが含まれると、Looker は percentile メジャータイプと median メジャータイプを自動的に percentile_distinctmedian_distinct に変換します。対称集計をサポートするすべてのデータベース言語が、percentile_distinct メジャータイプと median_distinct メジャータイプをサポートしているわけではありません。データベース言語がこれらのメジャータイプをサポートしているかどうかは、メジャータイプのドキュメント ページで確認できます。

SQL dialect doesn't support Symmetric Aggregates with percentiles, field ignored. のようなエラーが表示された場合は、データベース言語が percentile_distinct メジャータイプと median_distinct メジャータイプをサポートしていないことを示しています。この問題を回避するには、メジャータイプを type: number に変更し、sql: median(${dimension}) で集計関数を指定します。ただし、これにより対称集計が無効になります。

対称集計の言語サポート

対称集計を使用できるかどうかは、Looker 接続で使用されているデータベース言語によって異なります。Looker の最新リリースでは、次の言語が集約テーブルの自動認識をサポートしています。

言語 サポート対象
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