symmetric_aggregates

Penggunaan

explore: explore_name {
  symmetric_aggregates: yes
}
Hierarki
symmetric_aggregates
Nilai Default
yes

Menerima
Boolean (yes atau no)

Definisi

Parameter symmetric_aggregates menentukan apakah agregat simetris akan diterapkan dalam Eksplorasi tertentu atau tidak. Jika symmetric_aggregates aktif, fungsi agregat akan menampilkan hasil yang benar, meskipun penggabungan menghasilkan fanout. Agregat simetris dijelaskan secara lebih mendetail di halaman Praktik Terbaik Memahami agregat simetris, dan masalah fanout yang dipecahkan dijelaskan dalam postingan Komunitas Masalah fanout SQL.

Secara default, agregat simetris diaktifkan untuk setiap Explore dalam Looker. Artinya, jika dialek SQL Anda mendukung agregat simetris, Anda hanya perlu menyertakan parameter symmetric_aggregates jika ingin menonaktifkan fungsi tersebut untuk Explore.

Contoh

Aktifkan agregat simetris untuk Eksplorasi product:

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

Nonaktifkan agregat simetris untuk Eksplorasi customer:

explore: customer {
  symmetric_aggregates: no
}

Hal-hal yang perlu dipertimbangkan

Buat gabungan dengan hati-hati saat agregat simetris nonaktif

Agregat simetris melindungi penghitungan tertentu agar tidak memberikan hasil yang salah saat penggabungan menghasilkan fanout. Oleh karena itu, jika dialek Anda tidak mendukung agregat simetris, atau jika Anda memilih untuk menonaktifkannya, Anda harus berhati-hati saat menjalankan penggabungan di Looker. Masalah ini dan solusinya dijelaskan secara mendetail dalam postingan Komunitas Masalah fanout SQL.

Tidak semua dialek database mendukung jenis ukuran median dan persentil dengan agregat simetris

Jika agregat simetris diaktifkan, Looker akan otomatis mengonversi jenis ukuran percentile dan median menjadi percentile_distinct dan median_distinct saat penggabungan melibatkan fanout. Tidak semua dialek database yang mendukung agregat simetris mendukung jenis ukuran percentile_distinct dan median_distinct. Anda dapat melihat apakah dialek database Anda mendukung jenis ukuran ini di halaman dokumentasi Jenis ukuran.

Jika Anda menerima error yang mirip dengan SQL dialect doesn't support Symmetric Aggregates with percentiles, field ignored., ini menunjukkan bahwa dialek database Anda tidak mendukung jenis ukuran percentile_distinct dan median_distinct. Untuk mengatasi hal ini, ubah jenis ukuran menjadi type: number, lalu tentukan fungsi agregat dengan sql: median(${dimension}). Namun, tindakan ini akan menonaktifkan agregat simetris.

Agregat simetris dan error Value Overflow

Saat mencoba mendownload atau melihat dasbor, Anda mungkin mengalami error seperti A LookML model issue occurred. Non-unique value/primary key (or sql_distinct_key), value overflow or collision when computing sum.

Saat menggabungkan ukuran dengan nilai besar, penghitungan latar belakang untuk agregasi simetris dapat menyebabkan error overflow desimal. Error overflow desimal disebabkan saat Looker mencoba melakukan agregasi simetris (misalnya, type: sum) dengan left join untuk nilai yang sangat besar yang melebihi 14 digit (nilai yang lebih besar dari 10.000.000.000.000).

Untuk mengatasi masalah ini, Anda dapat menggunakan parameter precision dan menetapkannya ke 5 atau yang lebih rendah. Contoh:

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

Dukungan dialek untuk agregat simetris

Kemampuan untuk menggunakan agregat simetris bergantung pada dialek database yang digunakan koneksi Looker Anda. Dalam rilis terbaru Looker, dialek berikut mendukung awareness gabungan:

Dialek Didukung?
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