Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Pessoal, tenho uma duvida quanto ao left join do qlikview.
Tenho uma tabela de vendas e outra de compra e preciso encontrar a ultima compra antes da venda. Exemplo:
Vendas:
nf,
produto,
datanf
Compras:
notacompra,
produto,
datacompra
Quero algo do tipo "exists" que fazemos em SQL onde busque a maior "notacompra" (max) cuja datacompra seja igual ou anterior a datanf da tabela vendas.
Algo assim:
Origem:
Load
*
resident Vendas;
left join (Origem)
load
produto,
max(datacompra)
resident Compras
where datacompra <= datanf
group by produto;
O problema é que o Qlikview não reconhece o datanf pois ele não é um campo da tabela compras e quero utilizar ele como condição.
Alguém tem alguma ideia de como tratar isso?
Obrigado!
é só vc adicionar a nf nos group by...
Bruno
Acredito que você terá que ligar as duas tabelas através do produto e criar uma nova tabela com as informações que você quer.
Sim, estou ligando elas através do produto, mas como são muitos registros dos dois lado, gostaria de saber se há uma forma logo na ligação das duas tabela de já pegar apenas a maior nota de compra com data anterior a venda.
Obrigado.
Você precisa da ultima compra anterior a ultima venda por produto?
produto comprado 05/07/2016 vendido 10/07/2016?
Exato Rodrigo, o mesmo produto pode ter mais de uma compra anterior, preciso da ultima.
obrigado
entendi...vou tentar algo aqui...
acho que isso resolva, talvez precise de alguns ajustes finos mais o conceito é este:
vendas:
LOAD * Inline [
nf,produto,datanf
1,a,10
2,a,11
1,a,9
3,a,11
3,b,9
4,b,8
3,b,10
];
ult_vendas:
Mapping LOAD produto as ult_produto,
Max(datanf) as ult_venda
Resident vendas Group by produto;
compras:
LOAD *, ApplyMap('ult_vendas',produto) as ult_venda Inline [
notacompra,produto,datacompra
1,a,15
2,a,11
1,a,9
3,a,11
3,b,9
4,b,20
3,b,10
];
LOAD max(ult_venda) as ult_venda,max(datacompra) as ult_compra,
produto as prod
Resident compras Group by produto;
Obrigado Rodrigo, vou fazer alguns testes e te aviso.
Rodrigo, só uma duvida, eu preciso que para cada NF mostre qual a ultima compra. Seu exemplo encontra a ultima venda e a respectiva ultima compra.
Há uma forma de fazer para cada NF e produto, trazer a compra anterior a ela?
é só vc adicionar a nf nos group by...