Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Pessoal, tenho um histórico de produtos faltantes na loja e um outra tabela com pedidos de compra feitos.
Esta tabela carrega em um QVD apenas produtos faltantes diariamente:
data - prod - unidade
18/02/16 - produto X - 001
19/02/16 - produto X - 001
21/02/16 - produto X - 001
22/02/16 - produto X - 001
Na tabela de compra, ela me mostra todos os dias que o produto foi comprado:
data - prod - unidade
20/02/16 - produto X - 001
percebam que esse produto não aparece no dia 20 na tabela 1, pois neste dia, ele teve uma compra.
eu preciso listar apenas UMA vez este produto, ou seja, mostrar a data MÍNIMA a partir da sua ultima compra:
data - prod
21/02/16 - produto X
porém se eu escolho min(data) ele sempre me traz o dia 18, não sei como comparar com a data da tabela de compra
!Hamilton,
Segue o qvw de exemplo, não sei se é realmente o melhor metodo a ser implementado. Observe que criei minha tabela apenas com a minima data e dropei todas as outras.
Acredito que será necessário para seu caso juntar/criar chave com a minha Tabela1
Abs.
Ninguém com nenhuma ideia?
Hamilton, Veja se isso atende você :
Em anexo o modelo:
Comprastemp:
LOAD * INLINE [
Produto, DtCompra
1, 01/02/2016
1, 10/02/2016
1, 12/02/2016
1, 20/02/2016
];
left join (Comprastemp)
load Produto, max(Previous(DtCompra)) as penultimacompra Resident Comprastemp group by Produto order by Produto,DtCompra ; //group by Produto;
Quase isso Maicon,
não é necessariamente a penúltima data de movimento, mas sim, a menor data a partir de um intervalo.
Na tabela esta assim
data - prod - unidade
18/02/16 - produto X - 001
19/02/16 - produto X - 001
INTERVALO NO DIA 20
21/02/16 - produto X - 001
22/02/16 - produto X - 001
23/02/16 - produto X - 001
24/02/16 - produto X - 001
Eu preciso que me retorne o dia 21 pois no dia 20 por exemplo, ele não traz na tabela pois foi realizado uma compra.
Hamilton,
Você precisa sempre da próxima data após a compra do produto certo? Mas e quando temos mais de uma compra para o produto?
Abs
Fabio Nakashigue
Sempre a data mínima, exemplo:
data - prod - unidade
18/02/16 - produto X - 001
19/02/16 - produto X - 001
INTERVALO NO DIA 20
21/02/16 - produto X - 001
22/02/16 - produto X - 001
INTERVALO NO DIA 23
INTERVALO NO DIA 24
25/02/16 - produto X - 001
26/02/16 - produto X - 001
A linha que deve permanecer é apenas a
25/02/16 - produto X - 001
A data que define o intervalo, eu tenho em outra tabela,
data - prod - unidade
20/02/16 - produto X - 001
23/02/16 - produto X - 001
24/02/16 - produto X - 001
Mas não consigo filtrar as duas, o correto seria mais ou menos assim
a menor data dos produtos (tabela 1) apos a maior data da compra (tabela 2).
!Hamilton,
Segue o qvw de exemplo, não sei se é realmente o melhor metodo a ser implementado. Observe que criei minha tabela apenas com a minima data e dropei todas as outras.
Acredito que será necessário para seu caso juntar/criar chave com a minha Tabela1
Abs.
Fábio, no seu exemplo eu apenas agrupei por unidade e produto na PegaMaxDataCompra,
adicionei mais uma loja e alterei as datas, funcionou perfeitamente.
Vou tentar usar sua lógica para o meu códio.
Logo dou o retorno.
Obrigado.