Skip to main content
Woohoo! Qlik Community has won “Best in Class Community” in the 2024 Khoros Kudos awards!
Announcements
Save $600 on Qlik Connect registration! Sign up by Dec. 6 to get an extra $100 off with code CYBERSAVE: REGISTER
cancel
Showing results for 
Search instead for 
Did you mean: 
william_fu
Creator II
Creator II

Como calcular 4 meses para trás?

Estou tendo muita dificuldade em encontrar uma solução para fazer com que uma expressão calcule x meses para trás

Para ilustrar, trago o gráfico abaixo:

A linha verde divide a barra verde escura pela verde clara, sempre no mesmo mês.

Porém, preciso que a expressão da linha verde considere os números das barras com uma defasagem de 4 meses.

Ou seja, o valor da linha verde em julho vai considerar as barras de março no cálculo, etc.

graifco.PNG

De preferência, queria fazer isso via set analysis, sem modificar diretamente o script.

Segue a minha tentativa falhada de fazer essa divisão (com base nesse post do rogerioalmeida Cálculo através de datas)

Count({$< IndDesembolso={'S'},

DtInclusaoProposta-={'1/1/1900'},

DtInclusaoProposta = {">=$(=AddMonths(max(DtInclusaoProposta),-4)) <$(=AddMonths(max(DtInclusaoProposta),0))"}>} NroProposta)

/

Count({$<StatusAprovacao={'RAC-A','RAC-O','RAC-A Automática'},DtInclusaoProposta-={'1/1/1900'},

DtInclusaoProposta = {">=$(=AddMonths(max(DtInclusaoProposta),-4)) <$(=AddMonths(max(DtInclusaoProposta),0))"}>} NroProposta)

Labels (1)
1 Solution

Accepted Solutions
william_fu
Creator II
Creator II
Author

Consegui, com base nesse link: Accumulative Sums

Segue a resposta:

(Sum(Aggr((Above(Count(

{$<IndDesembolso={'S'},

DtInclusaoProposta-={'1/1/1900'},

[DtInclusaoProposta.autoCalendar.Year],

[DtInclusaoProposta.autoCalendar.YearMonth]>} NroProposta),4,0)),[DtInclusaoProposta.autoCalendar.YearMonth])))

View solution in original post

13 Replies
afurtado
Partner Ambassador/MVP
Partner Ambassador/MVP

William,

segue um modelo que eu tinha feito para algum post similar. Este mostra para tras e frente. Daria para adaptar.

Meses antes.gif

furtado@farolbi.com.br
william_fu
Creator II
Creator II
Author

Alessandro, boa noite.

Abri o seu arquivo e não encontrei a expressão para usar de exemplo, nem o gráfico do seu gif. É porque eu estou usando Qlik Sense Desktop?

srchagas
Creator III
Creator III

se voce quer um tudo dividido pelo atual.

voce precisa colocar um TOTAL

exemplo:

Mes atual / Acumulado dos Ultimos 4 Meeses

Sum( {< MesAno = {'$(vMesAno)'} >} nValor

/

Sum( Total  {< MesAno = ">=$(vMesAnoMenos4) <= $(vMesAnoMenos1)"}> nvalor)

afurtado
Partner Ambassador/MVP
Partner Ambassador/MVP

Segue em Sense

Meses antes.gif

furtado@farolbi.com.br
william_fu
Creator II
Creator II
Author

Alessandro,

Talvez eu tenha me expressado mal, mas eu não quero mostrar +/- 3 meses com base na seleção, eu quero que a posição do mês M reflita o valor de M-3

Tentei fazer isso:

Sum({<Ano=,Mes=,Periodo ={"=$(=Date(addmonths(Max(Periodo), -3), 'YYYY/MM'))"} >} Valor)

Tens alguma ideia?

william_fu
Creator II
Creator II
Author

Thiago,

Na verdade não preciso fazer nada acumulado, só preciso que a posição de M reflita o valor de M-3

Então aqui em 2016/12, preciso que o valor seja 25 ao invés de 84.

Destaco também que tenho outras medidas que precisam estar em "tempo real"; é só uma delas que precisa estar defasada no gráfico

Capturge.PNG

srchagas
Creator III
Creator III

Ah acho que entendi, pq o Mes de Dezembro ta vindo somado com outros meses ne ?

Se nao for isso desculpe ainda nao entendi eu acho... e ignora o texto abaixo e le so que esta dentro do  Sinxtase bonito

Tem duas forma de fazer isso...

Uma bonita e nao lembro se ira funcionar

Bonita:

Sum(

Aggr(

Sum( {< MesAno = ">=$(vMesAnoMenos4) <= $(vMesAno)"}> nvalor)

, MesAno)

)




Se tu quer  repeti o 25 para geral...

Pegar  assim

Sum( Total {< MesAno = {'vMesAnoMenos3'} }> nvalor)

ele deve repetir para a geral o 25

Clever_Anjos
Employee
Employee

uma solução seria utilizar uma tabela AsOf e criar um flag para contemplar os 4 meses anteriores,

Ficaria um set Analysis bem simples

algo como

Count({$< IndDesembolso={'S'},DtInclusaoProposta-={'1/1/1900'},Flag4Meses= {"1"}>} NroProposta)

The As-Of Table

william_fu
Creator II
Creator II
Author

Oi Thiago, acho que abaixo ficou bem claro:

Preciso que essa expressão sempre calcule 4 meses para trás continuamente, independente de seleção de mês, etc.

Digamos que eu selecione o ano de 2017 como filtro. Preciso que a expressão use como base o período de Set/16 - Ago/17 , ao invés de Jan/17 - Dez/17.

conversaao.PNG

Você poderia também detalhar como foram definidas as suas variáveis?