Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Boa tarde, gostaria da opinião de vocês sobre um problema que é a chave sintética. Particularmente não vi um baixo desempenho no meu projeto além do tempo de criação das chaves porém ja ouvi falarem que deve ser evitado. Hoje eu tenho 6 delas, não sei se isso é muito e a que ponto devo me preocupar com elas?
A maioria delas não os camspos "ID_unidade", "mes" e "ano".
Neste caso, o jeito mais simples seria concatenar ou gerar uma chave.
Em todos seus load´s (exceto 1) comente todos os campos id_unidade,ano ,mes e crie um campo conforme abaixo
LOAD
autonumberhash128(id_unidade,ano ,mes) as %key
OU
id_unidade&'-'&ano&'-'&mes AS %key
Como regra geral evite possuir em sua modelagem.
Elas acarretam um tempo de construção maior durante o script e podem levar a problemas de performance.
Um post super interessante do Henric Cronström (um dos papas da Comunidade)
http://community.qlik.com/blogs/qlikviewdesignblog/2013/04/16/synthetic-keys
o que me chamou mais a atenção em meu projeto ´são as chaves 2, 3 e 5 sem estarem ligadas em nenhuma tabela, pode ser um erro no projeto?
Estranho realmente...
Consegue postar uma imagem com suas tabelas? Control-T
Sim sim, por isso minha preocupação, não analisei isso antes de começar o projeto.
Organizado diferente
quando o QlikView vai criando as SK´s pode ser que ele vá criando tabelas separadas. É comum.
No seu caso, eu começaria por eliminar a SK que contem id_unidade,ano e mes que é a mais frequente em toda sua app.
Ao eliminar essa, seu modelo vai 'enxugar' bastante
pode me dar uma dica de como eu elimino estas chaves?
Neste caso, o jeito mais simples seria concatenar ou gerar uma chave.
Em todos seus load´s (exceto 1) comente todos os campos id_unidade,ano ,mes e crie um campo conforme abaixo
LOAD
autonumberhash128(id_unidade,ano ,mes) as %key
OU
id_unidade&'-'&ano&'-'&mes AS %key