Qlik Community

Qlik Brasil

Group community for Brazil users. discussion only in Portuguese.

Highlighted
Not applicable

Tabelas com granularidade diferente

Bom dia!

Gostaria de ajuda para entender o relacionamento que o qlikview cria entre as tabela e saber como devo proceder para corrigir alguns erros nos dados.

Tenho uma tabela de Situação de Produtos e uma segunda tabela com a Venda por Cliente. A chave do meu modelo é o PRODUTO.

  

ProdutoSituacao
ProdutoSituacaoQtde
PROD1BLOQUEADO15
PROD1COMPRAR20
PROD1ESTOQUE10
PROD2ESTOQUE5
PROD2COMPRAR10
PROD3BLOQUEADO2

  

VendasCliente
ClienteProdutoQtdeVendaCli
CLIENTEAPROD110
CLIENTEBPROD15
CLIENTEAPROD220
CLIENTECPROD315

Pelo meu modelo, eu posso ter um mesmo produto em diversas situações. Quando coloco estas tabelas juntas no qlikview, as quantidades de vendas e situação ficam duplicados. Eu entendo que isso é por conta da granularidade entre as tabelas que são diferentes.

Porém, qual a melhor forma de lidar com isso?

Obrigado!

Marcílio

Tags (1)
1 Solution

Accepted Solutions
nicolett_yuri
Not applicable

Re: Tabelas com granularidade diferente

Você não poderá juntar essas tabelas com JOIN, o ideal seria trabalhar as informações apenas com a ligação das tabelas através da coluna de produto.

Se preferir, pode junta-las com o CONCATENATE, por exemplo:

Fato:

LOAD

Produto,

Situacao,

Qtde,

'Produto Situação' as Origem

FROM ProdutoSituacao;

CONCATENATE

LOAD

Produto,

Cliente,

QtdeVendaCli as Qtde,

'Vendas Cliente' as Origem

FROM VendasCliente;

No gráfico, você pode referenciar as tabelas através do campo Origem, por exemplo:

SUM({<Origem = {'Produto Situação'}>}Qtde)

ou

SUM({<Origem = {'Vendas Cliente'}>}Qtde)

11 Replies
nicolett_yuri
Not applicable

Re: Tabelas com granularidade diferente

Marcilio, o ideal seria você trabalhar com as informações na mesma granularidade, o que me parece é que você possui duas tabelas que foram agrupadas de formas diferentes através da mesma origem

Not applicable

Re: Tabelas com granularidade diferente

Yuri, obrigado pela resposta.

Como devo fazer no caso de não conseguir colocar na mesma granularidade?

Existe alguma técnica para se trabalhar desta forma?

Obrigado!

nicolett_yuri
Not applicable

Re: Tabelas com granularidade diferente

Você não poderá juntar essas tabelas com JOIN, o ideal seria trabalhar as informações apenas com a ligação das tabelas através da coluna de produto.

Se preferir, pode junta-las com o CONCATENATE, por exemplo:

Fato:

LOAD

Produto,

Situacao,

Qtde,

'Produto Situação' as Origem

FROM ProdutoSituacao;

CONCATENATE

LOAD

Produto,

Cliente,

QtdeVendaCli as Qtde,

'Vendas Cliente' as Origem

FROM VendasCliente;

No gráfico, você pode referenciar as tabelas através do campo Origem, por exemplo:

SUM({<Origem = {'Produto Situação'}>}Qtde)

ou

SUM({<Origem = {'Vendas Cliente'}>}Qtde)

rvsilvestre
Not applicable

Re: Tabelas com granularidade diferente

A forma de juntar tudo na mesma tabela para criar uma unica fato, evitando duplicidades por causa da granularidade seria através do concatenate(), mas nem sempre é a melhor solução, se você puder postar a imagem do seu modelo, fica mais fácil de dar um sugestão.

Not applicable

Re: Tabelas com granularidade diferente

Entendi Yuri!

Vou fazer alguns estudos com o concatenate e ver se consigo colocar todas em uma fato só.

Obrigado!

Not applicable

Re: Tabelas com granularidade diferente

Rodrigo,

Estou enviando a imagem do meu modelo. Sei que está uma bagunça...algumas fatos, depois de ter lido o post do Yuri, ja me esclareceu como tem que ficar, juntando em uma tabela só.

Vou fazer algumas correções e postar novamente de uma forma mais limpa.

Obrigado!modelo_qv.JPG

Not applicable

Re: Tabelas com granularidade diferente

modelo_qv_v2.JPGRodrigo, dei uma limpada no modelo. Juntei 3 tabelas em uma só.

A granularidade está diferente nas tabelas FatoSituacaoVendas e FatoVendaFase (à direita).

Para resolver o problema de duplicidade por conta da granularidade diferente, tentarei junta-las com o concatenate.

Obrigado!

rvsilvestre
Not applicable

Re: Tabelas com granularidade diferente

Marcilio,

No seu caso , eu criaria uma Link table e eliminaria todas as chaves sintéticas (Dicas Qlik - Tonial, Fernando: LinkTable). Pela quantidade de tabelas fato acho que seria melhor do que concatenar tudo.

Sugiro dar uma olhada nesse link tbm Concatenate vs Link Table

Not applicable

Re: Tabelas com granularidade diferente

Rodrigo e Yuri, obrigado pela ajuda.

Coloquei as tabelas na mesma granularidade e em outros pontos usei o concatenate.

Resolveu meu problema. O modelo ficou mais enxuto.

Abraço!

modelo_qv_final.JPG