Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Bom dia galera,
Preciso de uma ajuda de vocês num caso aqui:
Eu fiz um cenário onde eu montei o extrato de produto e no meu script eu leio produto a produto, dia por dia e vou sempre gravando o valor que está em estoque de cada produto para cada dia, então se eu quiser ver o valor que existia em estoque de um produto até determinada data eu conseguia.
Minha tabela que segue em anexo, eu uso a seguinte formula para mostrar o extrato do produto e o valor acumulado dia a dia:
FirstSortedValue( {<MOV_DATA={"<=$(=vPeriodo)"} >} VL_SALDO, -OrdemLancamento)
Na tabela onde somo o valor mensal eu utilizo a seguinte fórmula:
SUM(AGGR(FirstSortedValue( {<MOV_DATA={"<=$(=vPeriodo)"} >} VL_SALDO, -OrdemLancamento),PRO_CODIGO,MOV_MES_ANO))
Segue o problema que tenho explicado no anexo.
Eu sei que existe uma forma de fazer o que eu preciso, mas quero ver se consigo resolver sem precisar criar outro script de carga.
Talvez tenho que tentar fazer uma carga acumulando mensalmente, mas na ausência de um produto em um determinado mês, eu vou precisar mostrar ele mesmo assim.
Rodrigo,
E se você utilizar a seguinte expressão para o valor total:
Sum(Aggr(If(MOV_DATA= Max(TOTAL <PRO_CODIGO> MOV_DATA), [VL_SALDO),MOV_DATA,PRO_CODIGO))
Abs e Sucesso!
Vou testar aqui!
o detalhe que na data eu utilizo uma variável de caixa de entrada e o max no campo MOV_DATA acaba não dando certo.
Eu acredito que na carga (script) se algum produto não tem movimento em algum determinado mês, eu deva gerar uma registro para aquele mês considerando o dado do mês anterior!
Eu tenho uma aplicação para o estoque aqui da empresa e no meu script de transformação tenho algo assim:
...
Rangesum(
If( ID_Material = Previous(ID_Material) and Previous(ID_Movimentacao)<ID_Movimentacao,
Rangesum( [Movimentacao - Quantidade], Peek([Movimentacao - Saldo]) )
, [Movimentacao - Quantidade])) AS [Movimentacao - Saldo]
...
Dessa forma vou preservando o último saldo (saldo atual).
Você quer uma solução via script ou via expressão? Talvez o FirstSortedValue() ajudaria nesse caso...
Eu utilizo o FirstSortedValue() e funciona bem no extrato por data e por produto.
eu tenho problemas quando eu quero mostrar mensalmente conforme a imagem que eu coloquei no relato inicial.
Exemplo: O Produto 106 não tem movimento no mês 08, mas ainda é um valor que está em estoque e deverá mostrar também que ele ainda está em estoque no mês 8, e assim sucessivamente.
Qual foi o resultado da expressão que te mandei?
A primeira fórmula não se adaptou para o gráfico mensal.
Eu vou colocar aqui o meu arquivo qvw para você dar uma olhada no que eu fiz.
Se você observar, nas tabelas por produto/data, produtos, ou tipo de produto da forma que eu carreguei os dados usando o comando FirstSortedValue() funciona bem, ou seja, me atende.
O problema eu tenho quando crio uma tabela para mostrar mensalmente!
No arquivo QVW está destacado o que está correto e onde tenho problemas.
Pode usar com base o marcador "Teste" que tem dois produtos como exemplo onde um deles não tem movimentação no mês de agosto.
Estou finalizando uma solução que eu desenvolvi.
Vou criar um documento para compartilhar a solução e vou colocar o link aqui!