Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

Duplicidade dados

Criei uma tabela fato com produto e fornecedor, um pedido pode ter vários produtos e vários fornecedores, mas para cada pedido tenho algumas taxas, essas taxas não são por fornecedor.

Quando calculo a taxa ela está vindo em duplicidade, coloquei distinct mas a performance está ruim, nesse caso como resolveria?

Segue um exemplo do meu modelo:

Capturar.PNG

7 Replies
Marcio_Campestrini
Specialist
Specialist

Boa tarde Isabela.

Fica difícil responder com certeza, pela falta de um modelo do app, mas olhando assim parece que a melhor solução é fazer um LEFT JOIN entre as duas tabelas, assim você terá a taxa de acordo com o pedido e o produto.

Márcio Rodrigo Campestrini
nicolett_yuri

Acredito que seu problema esta na ligação da tabela, tente fazer a ligação através de uma chave composta com id_pedido e id_produto.

Ficaria mais ou menos assim:

Fato:

LOAD

id_pedido & '|' & id_produto as chave,

...

...

...

FROM .....

Taxas:

LOAD

id_pedido & '|' & id_produto as chave,

valor_Taxa

FROM .....


Not applicable
Author

Yuri,

Tentei fazer dessa forma, mas na tabela fato eu tenho id_pedido , id_produto  e id_fornecedor, para cada id_pedido e id_produto eu tenho varias linhas que se repetem por causa do id_fornecedor, mas a tabela de taxa tenho somente id_produto e id_pedido, não sei se conseguir ser clara.

Mas agradeço a ajuda.

nicolett_yuri

A ligação de sua tabela fato com a tabela de taxa deve ocorrer apenas por id_produto e id_pedido. Fazendo dessa forma, sua expressão poderá ficar: SUM(Valor_Produto*Valor_Taxa)

Se preferir pode fazer o LEFT JOIN entre as duas tabelas e já deixar uma coluna calculando o valor do produto + a taxa.

Not applicable
Author

Não sei se sua tabela de taxas tem data. Se tiver, ou se houver uma forma de colocar a data na tabela de taxa acredito que seria muito interessante vc concatenar as tabelas e ter um campo que diga se é taxa ou pedido. Desta forma vc poderá usar as mesmas dimensões.

Marcio_Campestrini
Specialist
Specialist

Isabela

Conseguiu resolver o problema? Se sim, marque a resposta como correta para ajudar a manter a comunidade organizada.

Márcio Rodrigo Campestrini
Marcio_Campestrini
Specialist
Specialist

Boa tarde Isabela

Conseguiu resolver o seu problema? Se sim, por gentileza marque a resposta correta para nos ajudar a manter a comunidade organizada.

Márcio Rodrigo Campestrini