Ir para conteúdo principal Pular para conteúdo complementar

Associações entre tabelas lógicas

Um banco de dados pode ter várias tabelas. Cada tabela pode ser considerada como uma lista de algo. Cada registro na lista representa uma instância de um objeto de algum tipo.

Exemplo:  

Se duas tabelas forem listas de itens diferentes, por exemplo, se uma for de clientes e a outra for de faturas, e as duas tabelas tiverem um campo em comum, como o número do cliente, normalmente é um sinal de que há um relacionamento entre as duas tabelas. Em ferramentas de consulta SQL padrão, as duas tabelas devem quase sempre ser unidas.

As tabelas definidas no script do Qlik Sense são denominadas tabelas lógicas. O Qlik Sense faz associações entre as tabelas com base nos nomes de campos e executa as junções quando uma seleção é feita, por exemplo, durante a seleção de um valor de campo em uma caixa de filtro.

Isso significa que uma associação é quase o mesmo que uma junção. A única diferença é que a junção é feita quando o script é executado – a tabela lógica é geralmente o resultado da junção. A associação é feita depois da criação da tabela — as associações são feitas sempre entre as tabelas lógicas.

Quatro tabelas: uma lista de países, uma lista de clientes, uma lista de transações e uma lista de assinaturas, que estão associadas entre si pelos campos Country e CustomerID.

Four logical tables associated.

Associação do Qlik Sense em comparação com a junção externa natural SQL

Uma associação do Qlik Sense é semelhante à uma junção externa natural SQL. No entanto, a associação é mais geral: uma junção externa no SQL é geralmente uma projeção unidirecional de uma tabela em outra. Uma associação sempre resulta em uma junção externa natural completa (bidirecional).

Informações de frequência em campos associados

Há algumas limitações no uso da maior parte dos campos associados, isto é, campos que são comuns entre duas ou mais tabelas. Quando um campo ocorre em mais de uma tabela, o Qlik Sense enfrenta problemas para saber qual das tabelas deve usar para calcular frequências de dados.

O Qlik Sense analisa os dados para determinar se há uma forma não ambígua de identificar uma tabela principal para efetuar a contagem (às vezes há), mas na maior parte dos casos o programa pode fazer apenas uma suposição. Como uma suposição incorreta poderia ser fatal (o Qlik Sense aparentaria fazer um erro de cálculo), o programa foi projetado para não permitir determinadas operações quando a interpretação de dados for ambígua para campos associados.

Limitações para associação de campos

  1. Não é possível exibir informações de frequência em um painel de filtro que mostre o campo.
  2. As caixas de estatísticas do campo mostram n/a para a maior parte das entidades estatísticas.
  3. Em gráficos, não é possível criar expressões que contenham funções que dependam de informações de frequência (como funções Sum, Count e Average) no campo, a menos que o modificador Distinto seja ativado. Depois de cada execução de script, o Qlik Sense pesquisa todas as expressões de gráficos para verificar se ocorreu alguma ambiguidade como resultado de alterações nas estruturas de dados. Se forem encontradas expressões ambíguas, uma caixa de diálogo de atenção será exibida e a expressão será desabilitada. Não será possível habilitar a expressão até que o problema seja corrigido. Se um arquivo de log for habilitado, todas as expressões ambíguas serão listadas no log.

Solução alternativa

Há uma forma simples de superar essas limitações. Carregue o campo uma vez mais com um novo nome, a partir da tabela na qual as contagens de frequência devem ser feitas. Em seguida, use o novo campo para um painel de filtro com frequência, para uma caixa de estatísticas ou para cálculos nos gráficos.

Esta página ajudou?

Se você encontrar algum problema com esta página ou seu conteúdo - um erro de digitação, uma etapa ausente ou um erro técnico - informe-nos como podemos melhorar!