Skip to main content
Announcements
Live today at 11 AM ET. Get your questions about Qlik Connect answered, or just listen in. SIGN UP NOW
cancel
Showing results for 
Search instead for 
Did you mean: 
guilherme_rigon
Contributor III
Contributor III

Vizualizar sempre a previsão para os próximos 90 dias?

Bom dia,

Estou construindo um fluxo de caixa que contem as despesas, receitas e saldos diários. Gostaria de saber como travar a visualização sempre para os próximos 90 dias.

Minhas set do saldo está assim: sum({<RECDESP={'1'}, CODNAT={1010000}>} (VLRDESDOB*0.85)) - (sum({<RECDESP={'-1'}>} VLRDESDOB))

Desculpe a pergunta, mas é que estou começando agora.

10 Replies
Not applicable

Cria uma variável no script, veja se funciona dessa forma:

Let vFiltro90Dias = Date(today()+90);

sum({<RECDESP={'1'}, CODNAT={1010000}, Date={">=$(vFiltro90Dias)"}>} (VLRDESDOB*0.85)) - (sum({<RECDESP={'-1'}>} VLRDESDOB))

paulovendruscol
Creator
Creator

Guilherme,

A data inicial para o calculo seria a data de hoje, correto? Se sim, veja se esse tópico te atende.

Variável somando valor entre um perído da data

guilherme_rigon
Contributor III
Contributor III
Author

Paulo e Eduardo,

Obrigado pela resposta, mas ainda não consegui. Quando insiro este modificador na set, ele me retorna valor 0.

paulovendruscol
Creator
Creator

Guilherme,

Poste o seu QVW para facilitar...

jonas_rezende
Specialist
Specialist

Guilherme Rigonato.

Entendi que você quer filtrar a data D+0 até D+90. Com isso, recomendo criar a variável como orientado por Eduardo Endo.

Para tanto, poderia testar separadamente o resultado de cada agregação, se der certo, inclua a operação em uma única expressão. Ex.:

sum({<RECDESP={'1'}, CODNAT={1010000}, Data={"<=$(=vFiltro90Dias)"}>} VLRDESDOB*0.85) //Testa o resultado

sum({<RECDESP={'-1'}, Data={"<=$(=vFiltro90Dias)"}>} VLRDESDOB) //Testa o resultado.

Em caso de resultado bem sucedido:

sum({<RECDESP={'1'}, CODNAT={1010000}, Data={"<=$(=vFiltro90Dias)"}>} VLRDESDOB*0.85) - sum({<RECDESP={'-1'}, Date={"<=$(=vFiltro90Dias)"}>} VLRDESDOB)

P.S.: observar que é preciso o sinal de igualdade dentro da variável $(=vFiltro90Dias).


Espero que isso ajude!

guilherme_rigon
Contributor III
Contributor III
Author

Como e onde eu crio essa variável? Meu campo de data é 'DTVENC'. Meu Qlikview é ainda é a versão free, não tem como posta o .qvd. Obrigado.

jonas_rezende
Specialist
Specialist

Guilherme Rigonato.

Cria a variável no script. Teclas Ctrl + E.

Quanto ao campo, substitua na linha de código Data por DTVENC. Ex.:

sum({<RECDESP={'-1'}, DTVENC={"<=$(=vFiltro90Dias)"}>} VLRDESDOB) //Testa o resultado.

guilherme_rigon
Contributor III
Contributor III
Author

Jonas,

Criei um outro campo de data 'DATA2', DATE(DTVENC, 'DD/MM/YYYY') AS DATA2, agora pelo menos me volta valores para o gráfico. Utilizando a expressão sum({<RECDESP={'-1'}, DATA2={"<=$(=vFiltro90Dias)"}>} VLRDESDOB).


Porém me volta todos os registros do banco. O que faço?

jonas_rezende
Specialist
Specialist

Guilherme Rigonato.

Dicas:

  • Analise se todo o período retornado está dentro da condição DATA2={"<=$(=vFiltro90Dias)"}>}. Caso contrário, estabeleça o limite que deseja e altere o operador relacional do modificador para >= ou =. Se for o caso, verifique o período armazenado na variável vFiltro90Dias.

  • Utilize ListBox (Clica com o botão direito do mouse em uma área em branco e escolha Selecionar Campo, e clique duas vezes sobre o campo desejado. Ex.: DATA2.) e TextBox (Clica com o botão direito do mouse em uma área em branco e escolha  Novo Objeto de Pasta, insira a variável =$(vFiltro90Dias)), e compare as datas.



Espero ter ajudado!