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 |