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: 
pauloandre
Creator II
Creator II

acumulado com data

Prezados,

estou com outro problema em relação a soma acumulada....

possuo uma tabela que apresenta um valor acumulado por data e possuo filtros por Ano e Mês, porém quando faço filtro a data inicial do objeto não respeita o filtro.

a expressão que estou utilizando é:

=Sum({<DATA_ATUAL_ANO=, DATA_ATUAL_MES=, DATA_ATUAL={'<=$(=max(date('$(vDataEnd)')))'}>}PROD)

vDataEnd é o ultimo dia disponivel

o que pretendo é que quando seleciono ano=2013 e mes=fev seja apresentado por dia (de 01/02 a 28/02) o acumulado desde o inicio

Paulo André

1 Solution

Accepted Solutions
rphpacheco
Creator III
Creator III

O que podes fazer na tabela diario é um soma com set analysis pegando os valores inferiores ao mes selecionado. Talvez tenhas que criat uma varisvel para isso. Apos pega esse valor iras somar com o resultado da expressão já existente na tabela. Mas para issi vc devera criar uma condicional verificando a primeira linha da tabela.

Bom, essa é uma ideia para fazer isso. Acabei de sair para almoçar, mas quando voltar posto um exemplo 😉

Abs.

View solution in original post

6 Replies
rphpacheco
Creator III
Creator III

Boa Tarde Paulo.

Bom, se entendi você tem uma tabela com os valores por Ano, Mês e quer diarizar quando o mês for selecionado.

Em primeiro lugar coloque o Ano como dimensão. Em seguida, crie um Grupo Hierarquico, Propriedades -> Dimensões -> Editar Grupos -> Novo. Lá selecione a opção Grupo Hierarquico e coloque o Mês e o Dia como Campos usados (Respectivamente).

Assim, quando você selecionar o Ano terás os resultados dos meses, mas se selecionares um mês, terás o resultado por dia.

Segue um exemplo para melhor entendimento!

Espero ter ajudado!

Abs.

pauloandre
Creator II
Creator II
Author

Raphael,

para melhor explicar a situação, o arquivo em anexo criei o grafico/tabela 'diario' onde possui a informação diária e acumulada por dia, porém quando seleciono o mes de fev por exemplo, gostaria que no dia 01/02 fosse apresentado o valor de 117 que representa o acumulado de todas as vendas até 01/02.

Att

Paulo André

rphpacheco
Creator III
Creator III

O que podes fazer na tabela diario é um soma com set analysis pegando os valores inferiores ao mes selecionado. Talvez tenhas que criat uma varisvel para isso. Apos pega esse valor iras somar com o resultado da expressão já existente na tabela. Mas para issi vc devera criar uma condicional verificando a primeira linha da tabela.

Bom, essa é uma ideia para fazer isso. Acabei de sair para almoçar, mas quando voltar posto um exemplo 😉

Abs.

pauloandre
Creator II
Creator II
Author

Raphael,

a sua dica foi 10!!! mas tive que fazer um ajuste...

criei uma variável com o acumulado do periodo anterior e adiciono esse valor somente no primeiro valor da tabela, com isso o acumulado fica blz!!

vDataEnd =MaxString(DATA_ATUAL)

vDataEnd2 =MonthEnd(vDataEnd,-1)

vAcum =Sum({<DATA_ATUAL_ANO=, DATA_ATUAL_MES=, DATA_ATUAL_DIA=, DATA_ATUAL={'<=$(=max(date('$(vDataEnd2)')))'}>}PROD)

no grafico utilizei a seguinte expressão:

=if(RowNo()=1,

Sum({<DATA_ATUAL_ANO=, DATA_ATUAL_MES=, DATA_ATUAL_DIA=, DATA_ATUAL={'<=$(=max(date('$(vDataEnd)')))'}>}PROD)

+vAcum,

Sum({<DATA_ATUAL_ANO=, DATA_ATUAL_MES=, DATA_ATUAL_DIA=, DATA_ATUAL={'<=$(=max(date('$(vDataEnd)')))'}>}PROD)

)

rphpacheco
Creator III
Creator III

Poxa... Que bom que o problema foi solucionado!
Abs!

Not applicable

Pessoal!!

To com uma dificuldade parecida!

To trabalhando em um fluxo de caixa, e preciso saber o valor do caixa final que seria o acumulado de Caixa total de todos os dias até  o dia que for selecionado.

Exemplo:

Tenho o ano inteiro com lançamento de 1 real todos os dias de 2015.

Preciso saber em 10 de fevereiro quantos reais tem acumulado até o dia 10 de fevereiro.

Preciso exibir o resultado em um objeto de texto.