Skip to main content
Woohoo! Qlik Community has won “Best in Class Community” in the 2024 Khoros Kudos awards!
Announcements
Join us at Qlik Connect for 3 magical days of learning, networking,and inspiration! REGISTER TODAY and save!
cancel
Showing results for 
Search instead for 
Did you mean: 
Anonymous
Not applicable

Mes atual e anterior fixo no KPI

Pessoal, boa tarde.

Preciso de uma ajuda.

Trabalhando com KPIs fiz o seguinte:

Variáveis: vAnoAnterior:    =Year(Max([Emissão.autoCalendar.Year]))-1

               vAno Atual:       =Year(Max([Emissão.autoCalendar.Year]))

Medidas:  Vendas Ano Anterior:   Sum({< [Emissão.autoCalendar.Year] ={'$(vAnoAnterior)'}>}qcom)

                Vendas Ano Atual:      Sum({< [Emissão.autoCalendar.Year]={'$(vAnoAtual)'}>}qcom)

Seguindo esse raciocínio gostaria de fazer o mês atual e mês anterior.

Usando somente Set Analysis criei o mês atual, porém sem a Variável ficando assim:

sum({1<[Emissão.autoCalendar.Month]={'$(=Month(Today()))'}>}qcom)

Procurei bastante e não consegui achar uma solução.

Creio que seja algo simples, mas ainda não consegui fazer.

Muito obrigado.

Labels (1)
1 Solution

Accepted Solutions
TiagoCardoso
Creator II
Creator II

Tira a função Num(), creio que seu campo é o que identifica os meses pelo nome ('jan',fev','mar',...) e eu coloquei num(month()) ´para ele retornar o valor apenas (01,02,03,...)

sum({1<[Emissão.autoCalendar.Month]={'$(=Month(AddMonths(Today(),-1)))'}>}qcom)

View solution in original post

7 Replies
TiagoCardoso
Creator II
Creator II

Boa tarde Diego, para subtrair um mês de qualquer mês, você deve usar a função AddMonths(), que, em tese acrescenta meses a qualquer campo mês, mas aí você coloca um valor negativo e ele 'adiciona' negativamente, ou seja, subtrai.

Exemplo:

=Num(Month(AddMonths(Today(),-1)))

Retorna 2, mês passado.

Att,

tiagocardoso

Anonymous
Not applicable
Author

Tiago, é quase isso.

Porém quero trazer a soma das vendas do mês passado e exibir ela fixa.

Eu consegui fazer para o ano atual e anterior e mês atual conforme meu exemplo acima, porém não consegui realizar para o mês anterior.

Obrigado.

TiagoCardoso
Creator II
Creator II

sum({1<[Emissão.autoCalendar.Month]={'$(=Num(Month(AddMonths(Today(),-1))))'}>}qcom)

Faz um teste. Acredito que funcionará

Anonymous
Not applicable
Author

Ainda não. Na medida informei exatamente como me mandou

sum({1<[Emissão.autoCalendar.Month]={'$(=Num(Month(AddMonths(Today(),-1))))'}>}qcom).


Veja como fiz para o mês atual: Expressão: sum({1<[Emissão.autoCalendar.Month]={'$(=Month(Today()))'}>}qcom)  funcionou para o atual.


TiagoCardoso
Creator II
Creator II

Tira a função Num(), creio que seu campo é o que identifica os meses pelo nome ('jan',fev','mar',...) e eu coloquei num(month()) ´para ele retornar o valor apenas (01,02,03,...)

sum({1<[Emissão.autoCalendar.Month]={'$(=Month(AddMonths(Today(),-1)))'}>}qcom)

Anonymous
Not applicable
Author

Tiago, me salvou novamente.

Já fiz também uma variável para facilitar, pois apenas arrasto a medida. Também para fazer comparativos entre períodos fica mais fácil de lidar

Consegui entender melhor a definição do set analysis agora. Em cima do seu exemplo consegui montar a variável também.

Seu exemplo: sum({1<[Emissão.autoCalendar.Month]={'$(=Month(AddMonths(Today(),-1)))'}>}qcom)

Minha alteração aplicando a variável: 

             variável:    =Month(AddMonths(Today(),-1))

             Expressão:   sum({1<[Emissão.autoCalendar.Month]={'$(vMesAnterior)'}>}qcom)

Dessa forma consigo fazer para até quantos meses quiser apenas mundando o -1 para -2,-3,-4... e assim por diante.

Me corrija caso esteja errado.

TiagoCardoso
Creator II
Creator II

Exatamente, que bom que funcionou, Diego!

Abraços e não se esqueça de fechar o tópico.

Att,

tiagocardoso