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

Chaves sintéticas

Quando duas ou mais tabelas internas tiverem dois ou mais campos em comum, isso implicará um relacionamento de chave composta. O QlikView resolve isso por meio da criação automática de chaves sintéticas. Essas chaves são campos anônimos que representam todas as combinações ocorridas da chave composta.

Caso você receba um aviso sobre chaves sintéticas quando carregar os dados, é recomendado que você revise a estrutura de dados na visão das tabelas. Você deve se perguntar se o modelo de dados está ou não correto. As vezes está correto, mas, em geral, a chave sintética está lá devido a um erro no script.

Chaves sintéticas múltiplas geralmente são um sintoma de um modelo de dados incorreto, mas não necessariamente. Contudo, chaves sintéticas baseadas em outras chaves sintéticas é um sinal certo de um modelo de dados incorreto.

Nota de advertênciaQuando o número de chaves sintéticas aumenta, dependendo das quantidades de dados, da estrutura da tabela e de outros fatores, o QlikView pode ou não lidar com elas de forma ágil, o que pode terminar usando uma quantidade excessiva de tempo e/ou de memória. Em tal caso, será preciso retrabalhar seu script e remover todas as chaves sintéticas.

Two tables, IntervalMatchLength and LengthRange, have the Start and End fields in common. They are connected by the $Syn 1 field, which leads to the $Syn 1 Table, which contains only $Syn 1 and Start and End.

Tratamento de chaves sintéticas

Se precisar evitar chaves sintéticas, há diversos modos de resolver isso no script de carregamento:

  • Verifique se apenas os campos que vinculam logicamente as duas tabelas são usados como chaves.

    • Campos como “Comentários”, “Notas” e “Descrição” podem existir em diversas tabelas sem que haja qualquer relação e, portanto, não devem ser usados como chaves.
    • Campos como “Data”, “Empresa” e “Nome” podem existir em diversas tabelas e possuir valores idênticos, embora com funções diferentes (Data do Pedido/Data de Envio, Empresa Consumidora/Empresa Fornecedora). Em tais casos, eles não devem ser usados como chaves.
  • Certifique-se de que os campos redundantes não sejam usados – de que apenas os campos necessários sejam conectados. Por exemplo, se uma data for usada como chave, certifique-se de não carregar ano, mês ou dia_do_mês da mesma data de mais de uma tabela interna.

  • Se necessário, forme suas próprias chaves não compostas, usando normalmente a concatenação de caracteres dentro de uma função do script AutoNumber.

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!

Participe do Programa de Modernização do Analytics

Remove banner from view

Modernize sem comprometer seus valiosos aplicativos QlikView com o Programa de Modernização do Analytics. Clique aqui para mais informações ou entre em contato: ampquestions@qlik.com