Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Bom dia, preciso de uma opinião para estruturar uma carga.
hoje eu tenho 4 tabelas com movimentação detalhada dos produtos, "FatoPerdaDetalhe", "FatoDevolucao",FatoDevolucoesVenda" e "VendaDetalhe". Nelas eu tenho algunas campos como unidade e codigo do produto. Agora eu preciso saber o nome do produtos e outras informações, portanto eu criei uma tabela DimProdutos, onde no final ta tabela tem o mes e ano que foi gravada, a ideia é ter um cadastro de produtos por mes para que se alguma informação seja alterada no cadastro, eu consiga ver como estava antes.
Para interligar a tabela "VendaDetalhe" com a "DinProdutos" eu usei AutoHash128 com os campos id_data e codigo do produto.
O Problema é quando eu faço isso para as outras tabelas, o sistema vai criar chave sintéticas e usa toda a memoria do servidor na caga, acredito que seja pela quantidade de dados que eu tenho dentro de cada tabela (+ 10 mi ). Quero uma ajuda para resolver isso, pensei até em criar uma tabela "DimProdutos" para cada tabela Fato.
Olá Hamilton,
Realmente o modelo estrela é o mais indicado para o Qlik.
Essa imagem mostra um modelo estrela, onde temos uma tabela central com as métricas e suas dimensões associadas a ela.
Você pode concatenar essas tabelas em apenas uma. Fazendo assim:
Fato:
LOAD *
From FatoPerdaDetalhe;
Concatenate(Fato)
LOAD *
From FatoDevolucao;
Concatenate(Fato)
LOAD *
From FatoDevolucoesVenda;
Concatenate(Fato)
LOAD *
From VendaDetalhe;
Qlikfique-se.
Tonial.
Mesma coisa com a tabela "DimDifVenda"
Hamilton.
Acredito que no seu caso o ideal é implementar o conceito estrela. Nele, você cria uma tabela central com os campos comuns entre as tabelas (Ex: id_tempo, id_unidade) e suas respectivas chaves.
Todos os campos que estão na estrela você os dropa das tabelas secundárias. Assim você eliminará a ocorrência de chaves sintéticas sem ter que renomear os campos.
Abraço!
Raphael, você tem algum exemplo desse modelo Estrela para eu dar uma olhada?
Achei esse artigo
dicasqlikview.blogspot.com.br/2013/07/modelo-de-dados-no-qlikview.html
porém gostaria de ver alguma estrutura pronta.
Pq eu acho que a minha estrutura não esta legal.
Olá Hamilton,
Realmente o modelo estrela é o mais indicado para o Qlik.
Essa imagem mostra um modelo estrela, onde temos uma tabela central com as métricas e suas dimensões associadas a ela.
Você pode concatenar essas tabelas em apenas uma. Fazendo assim:
Fato:
LOAD *
From FatoPerdaDetalhe;
Concatenate(Fato)
LOAD *
From FatoDevolucao;
Concatenate(Fato)
LOAD *
From FatoDevolucoesVenda;
Concatenate(Fato)
LOAD *
From VendaDetalhe;
Qlikfique-se.
Tonial.
Fernando, Obrigado, concatenando elas eu reduzi consideravelmente o numero de tabelas, só vou conferir os valores para ver se confere, apesar que eu tenho mais de uma tabela fato no sistema e a dimensão tempo esta criando chaves entre elas, o que me sugere?
Concatene todas as fatos em apenas uma tabela fato, assim você buscará um modelo estrela.
Qlikfique-se
Tonial.
A diferença na estrutura esta gigantesca mas acredito que eu tenha feito algo errado,
a carga esta demorando muito mais do que antes.
Realmente será bem diferente, você deve sempre evitar as chaves sintéticas, que geram as tabelas $Syn 1 Table.
Sempre procurando fazer a chave entre as tabelas por apenas um campo, no seu caso são mais de um.
Qlikfique-se
Tonial.
É, vou ter que estudar melhor minha estrutura, a carga anterior demorava 1,2 minutos, agora esta demorando 6 minutos. Os valores estão todos corretos, porém ficou muito lento para trabalhar no sistema. Achei estranho.