Uso
explore: explore_name {
symmetric_aggregates: yes
}
|
Hierarquia
symmetric_aggregates |
Valor padrão
yes
Aceita
Um booleano (yes ou no)
|
Definição
O parâmetro symmetric_aggregates determina se conjuntos simétricos serão aplicados em uma determinada Análise. Quando symmetric_aggregates está ativado, as funções de agregação retornam resultados corretos, mesmo quando as junções resultam em um fanout. Os conjuntos simétricos são descritos com mais detalhes na página de práticas recomendadas Entender agregadores simétricos, e o problema de divergência que eles resolvem é explicado na postagem da comunidade O problema de divergências do SQL.
Por padrão, os conjuntos simétricos são ativados para todas as análises no Looker. Isso significa que se seu dialeto SQL for compatível com conjuntos simétricos, você só precisará incluir o parâmetro symmetric_aggregates se quiser desativar essa funcionalidade em uma Análise.
Exemplos
Ative os conjuntos simétricos para a Análise product:
explore: product {
symmetric_aggregates: yes # the default value, could be excluded
}
Desative os conjuntos simétricos para a Análise customer:
explore: customer {
symmetric_aggregates: no
}
Informações importantes
Crie junções com cuidado quando os conjuntos simétricos estiverem desativados
Os conjuntos simétricos protegem determinados cálculos de resultados incorretos quando uma junção resulta em uma divergência. Portanto, se o dialeto não for compatível com conjuntos simétricos ou se você optar por desativá-los, tenha cuidado ao executar junções no Looker. Esse problema e as soluções alternativas são descritos em detalhes na postagem da comunidade O problema de fanouts SQL.
Nem todos os dialetos de banco de dados são compatíveis com tipos de medidas de mediana e percentil com conjuntos simétricos.
Quando os conjuntos simétricos estão ativados, o Looker converte automaticamente os tipos de medição percentile e median em percentile_distinct e median_distinct quando uma junção [de dados] envolve uma divergência. Nem todos os dialetos de banco de dados que oferecem suporte a conjuntos simétricos são compatíveis com os tipos de métricas percentile_distinct e median_distinct. Na página de documentação Tipos de métricas, você pode conferir se o dialeto do seu banco de dados é compatível com esses tipos de métricas.
Se você receber um erro semelhante a SQL dialect doesn't support Symmetric Aggregates with percentiles, field ignored., isso indica que o dialeto do seu banco de dados não oferece suporte aos tipos de métricas percentile_distinct e median_distinct. Para contornar isso, mude o tipo de métrica para type: number e especifique a função de agregação com sql: median(${dimension}). No entanto, isso desativa os conjuntos simétricos.
Conjuntos simétricos e erros de Value Overflow
Ao tentar baixar ou acessar painéis, você pode encontrar um erro como A LookML model issue occurred. Non-unique value/primary key (or sql_distinct_key), value overflow or collision when computing sum.
Ao agregar uma medida com valores grandes, os cálculos em segundo plano para agregação simétrica podem causar erros de estouro decimal. Os erros de estouro decimal ocorrem quando o Looker tenta realizar uma agregação simétrica (por exemplo, type: sum) com junções à esquerda para valores muito grandes que excedem 14 dígitos (valores maiores que 10.000.000.000.000).
Para resolver esse problema, use o parâmetro precision e defina como 5 ou menos. Exemplo:
measure: average_value {
type: average
precision: 5
sql: ${value} ;;
}
Suporte a dialetos para conjuntos simétricos
A capacidade de usar conjuntos simétricos depende do dialeto do banco de dados usado pela sua conexão do Looker. Na versão mais recente do Looker, os seguintes dialetos são compatíveis com o reconhecimento de agregação:
| Dialeto | Compatível? |
|---|---|
| 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 | |
| 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 | |
| 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 |