Por que motivo as minhas medidas não estão a ser apresentadas através de uma junção?

Definiu algumas métricas numa vista, mas quando junta essa vista a outra vista, deixa de ver as métricas numa análise detalhada. Onde estão as medidas?

Causas e soluções possíveis

As possíveis causas subjacentes podem depender de ter os dados agregados simétricos ativados. Os agregados simétricos são ativados automaticamente, a menos que o programador os tenha desativado com a definição symmetric_aggregates: no do LookML ou se o dialeto da base de dados não suportar agregados simétricos.

Quando as acumulações simétricas estão ativadas

Os agregados simétricos permitem que as medidas de todos os tipos sejam transferidas através de junções. No entanto, isto só é possível se existirem chaves principais definidas nas vistas em ambos os lados de uma união. Para ativar as medidas para realizar junções, tem de definir uma chave principal em todas as vistas envolvidas.

Pode definir uma chave principal em cada vista adicionando primary_key: yes à definição do campo de chave principal, da seguinte forma:

dimension: id {
 type: number
 primary_key: yes
}

As chaves principais têm de ter valores completamente únicos e não NULL para os tipos de medidas sum e average para realizar associações. Se a chave principal não for única, pode receber um erro semelhante ao seguinte:

Non-Unique value/primary key (or sql_distinct_key), value overflow or collision when computing sum.

Além disso, se estiver numa situação em que não existe um único campo exclusivo na sua vista, pode criar uma chave primária composta concatenando dois ou mais campos em SQL para criar uma combinação única de valores. Leia mais sobre como resolver este erro na secção Chave principal não exclusiva da página de Error: Non-Unique value/primary key (or sql_distinct_key), value overflow or collision when computing sum práticas recomendadas.

Quando as agregações simétricas não estão ativadas

Alguns dialetos não suportam agregações simétricas ou o programador do Looker desativou as agregações simétricas com a definição do LookML symmetric_aggregates: no. Quando não é possível usar agregados simétricos, o Looker só transporta medidas do tipo count (que se tornam medidas distintas de contagem) através de uma junção por predefinição. Esta abordagem também requer uma chave principal, porque a contagem de valores distintos usa a chave principal. Isto evita resultados e distribuições imprecisos. Consulte a publicação da comunidade sobre funções de agregação que deram errado.

Existe uma lista que mostra que dialetos suportam agregações simétricas na versão mais recente do Looker.

Soluções adicionais a considerar

  • A utilização de fields (para junções) ao nível da junção. fields permite-lhe especificar que campos (medidas, dimensões) de uma vista unida aparecem numa análise detalhada.
  • Escolher o parâmetro relationshipcorreto. O parâmetro relationship indica ao Looker se deve aplicar agregados simétricos quando a junção é usada numa consulta SQL. É importante definir corretamente o tipo de relação para permitir que o Looker calcule valores de medidas precisos.