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 os 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 mesclagens resultam em um fan-out. Os conjuntos simétricos são descritos em mais detalhes na página de práticas recomendadas Noções básicas sobre conjuntos simétricos, e o problema de divergência que eles resolvem é explicado no post na Comunidade O problema das divergências de SQL.
Por padrão, os conjuntos simétricos são ativados para todas as Análises no Looker. Isso significa que, se o 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 mesclagens com cuidado quando os conjuntos simétricos estiverem desativados
Os conjuntos simétricos protegem determinados cálculos de resultados incorretos quando uma mesclagem 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 mesclagens no Looker. Esse problema e as soluções alternativas para ele são descritos em detalhes no post na Comunidade O problema das divergências de SQL.
Nem todos os dialetos de banco de dados são compatíveis com os tipos de medida 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 mesclagem envolve um fanout. Nem todos os dialetos de banco de dados que aceitam conjuntos simétricos são compatíveis com os tipos de medida percentile_distinct e median_distinct. Para saber se o dialeto do seu banco de dados é compatível com esses tipos de medição, consulte a página de documentação Tipos de medição.
Se você receber um erro semelhante a SQL dialect doesn't support Symmetric Aggregates with percentiles, field ignored., isso indica que o dialeto do banco de dados não é compatível com os tipos de medição percentile_distinct e median_distinct. Para contornar isso, mude o tipo de medição 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 Value Overflow
Ao tentar baixar ou visualizar painéis, talvez você encontre 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 conjuntos simétricos podem causar erros de estouro decimal. Os erros de estouro decimal são causados quando o Looker tenta realizar conjuntos simétricos (por exemplo, type: sum) com mesclagens à 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-o como 5 ou menos. Exemplo:
measure: average_value {
type: average
precision: 5
sql: ${value} ;;
}
Suporte de dialeto para conjuntos simétricos
A capacidade de usar conjuntos simétricos depende do dialeto do banco de dados que sua conexão do Looker está usando. Na versão mais recente do Looker, os seguintes dialetos são compatíveis com o reconhecimento de agregados:
| 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 | |
| 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 |