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_distinct と median_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}) で集計関数を指定します。ただし、これにより対称集計が無効になります。

対称集計と Value Overflow エラー

ダッシュボードをダウンロードまたは表示しようとすると、A LookML model issue occurred. Non-unique value/primary key (or sql_distinct_key), value overflow or collision when computing sum. などのエラーが発生することがあります。

大きな値を持つメジャーを集計する場合、対称集計のバックグラウンド計算で 10 進数のオーバーフロー エラーが発生することがあります。10 進数のオーバーフロー エラーは、Looker が 14 桁を超える非常に大きな値(10,000,000,000,000 を超える値)に対して左結合を使用して対称集計(type: sum など)を実行しようとしたときに発生します。

この問題を解決するには、precision パラメータを使用して 5 以下に設定します。次に例を示します。

measure: average_value {
  type: average
  precision: 5
  sql: ${value} ;;
}

対称集計の言語 サポート

対称集計を使用できるかどうかは、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.x - 0.17.x
Apache Druid 0.18+
Apache Hive 2.3+
Apache Hive 3.1.2+
Apache Spark 3+
ClickHouse
ClickHouse 26+
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+
Dremio 26+ with Arrow Flight SQL
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
MongoSQL
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