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 ambas tiverem um campo em comum, como o número do cliente, normalmente é um sinal de que há um relacionamento entre elas. 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.
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
- Não é possível exibir informações de frequência em um painel de filtro que mostre o campo.
- As caixas de estatísticas do campo mostram n/a para a maior parte das entidades estatísticas.
- 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.