Do not input private or sensitive data. View Qlik Privacy & Cookie Policy.
Skip to main content

Announcements
Want to see what's currently in public preview? We've pulled it all together in one place. Check it out here
cancel
Showing results for 
Search instead for 
Did you mean: 
Anonymous
Not applicable

Acumular Saldo Estoque (Script)

Boa Tarde,

   Estou me batendo um pouco para resolver o script abaixo, pesquisei em vários resultados da comunidade e não consegui solucionar. O problema ocorre que o valor está duplicando na hora de acumular, segue abaixo o script.

Movimento:

LOAD

PK_ItemNat_Estoque,

    DataHora_Estoque,

    Vl_Entrada_Estoque,

    Vl_Saida_Estoque,

    Vl_Saldo_Estoque,

    Cod_Natureza_Estoque,

    NumSum( If(PK_ItemNat_Estoque = Previous(PK_ItemNat_Estoque) ,

  NumSum(Peek('Vl_Acumulado_Estoque', -1)) + NumSum(Vl_Saldo_Estoque)), NumSum(Vl_Saldo_Estoque))  as Vl_Acumulado_Estoque

RESIDENT  Movimento_Temp Order By PK_ItemNat_Estoque,Data_Movimento_Estoque Asc;

TESTE.JPG

Precisava conseguir chegar nesse resultado.

TESTE2.jpg

Agradeço desde já qualquer ajuda.

Labels (1)
1 Solution

Accepted Solutions
Thiago_Justen_
MVP
MVP

Teste:

Movimento: 

LOAD  PK_ItemNat_Estoque,     

DataHora_Estoque,     

Vl_Entrada_Estoque,     

Vl_Saida_Estoque,     

Vl_Saldo_Estoque,     

Cod_Natureza_Estoque,     

If(PK_ItemNat_Estoque = Previous(PK_ItemNat_Estoque) ,RangeSum(Peek(Vl_Acumulado_Estoque),Vl_Saldo_Estoque), Vl_Saldo_Estoque)  as Vl_Acumulado_Estoque 

RESIDENT  Movimento_Temp Order By PK_ItemNat_Estoque,Data_Movimento_Estoque Asc; 

Thiago Justen Teixeira Gonçalves
Farol BI
WhatsApp: 24 98152-1675
Skype: justen.thiago

View solution in original post

7 Replies
Thiago_Justen_
MVP
MVP

Teste:

Movimento: 

LOAD  PK_ItemNat_Estoque,     

DataHora_Estoque,     

Vl_Entrada_Estoque,     

Vl_Saida_Estoque,     

Vl_Saldo_Estoque,     

Cod_Natureza_Estoque,     

If(PK_ItemNat_Estoque = Previous(PK_ItemNat_Estoque) ,RangeSum(Peek(Vl_Acumulado_Estoque),Vl_Saldo_Estoque), Vl_Saldo_Estoque)  as Vl_Acumulado_Estoque 

RESIDENT  Movimento_Temp Order By PK_ItemNat_Estoque,Data_Movimento_Estoque Asc; 

Thiago Justen Teixeira Gonçalves
Farol BI
WhatsApp: 24 98152-1675
Skype: justen.thiago
Thiago_Justen_
MVP
MVP

Conseguiu resolver Rodrigo?

Se sim, não esqueça de marcar a resposta como correta e assim fecharmos o tópico.

Na dúvida de como fazer isso veja o item 2.3 do Manual do usuário | Como criar e gerir minhas perguntas?

Thiago Justen Teixeira Gonçalves
Farol BI
WhatsApp: 24 98152-1675
Skype: justen.thiago
Anonymous
Not applicable
Author

Bom dia Thiago,

   Desculpe a demora, mais ontem não consegui trabalhar nesse assunto. Acabei tendo uma reunião ontem o dia todo, mais já vou testar seu script e logo posto o resultado.

Thiago_Justen_
MVP
MVP

Beleza Rodrigo. Qualquer coisa grita aí!

Thiago Justen Teixeira Gonçalves
Farol BI
WhatsApp: 24 98152-1675
Skype: justen.thiago
Anonymous
Not applicable
Author

Thiago, Não deu certo. Segue em anexo o .qvf se puder dar uma olhada.

Thiago_Justen_
MVP
MVP

Rodrigo, falha minha...

Altere para:

RangeSum(

If(PK_ItemNat_Estoque = Previous(PK_ItemNat_Estoque) and not IsNull(Previous(PK_ItemNat_Estoque)),

RangeSum(Peek(Vl_Acumulado_Estoque),Vl_Saldo_Estoque)), Vl_Saldo_Estoque)  as Vl_Acumulado_Estoque

Thiago Justen Teixeira Gonçalves
Farol BI
WhatsApp: 24 98152-1675
Skype: justen.thiago
Anonymous
Not applicable
Author

Thiago, Bom dia,

   Testei a segunda opção e apresentou os valores mais fora ainda. Porem acabei encontrando uma forma de corrigir os lançamentos ajustando a ordenação dos resultados. Parece que agora funcionou com o primeiro comando que você havia enviado, o segundo script o valor a soma acumulada total dá divergência no final.