Skip to main content
Woohoo! Qlik Community has won “Best in Class Community” in the 2024 Khoros Kudos awards!
Announcements
Nov. 20th, Qlik Insider - Lakehouses: Driving the Future of Data & AI - PICK A SESSION
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_

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_

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_

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_

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_

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.