Qlik Community

Qlik Brasil

Group community for Brazil users. discussion only in Portuguese.

Highlighted
ricardoregis
New Contributor II

Fórmula para calcular em um período anterior ao mês atual

Bom dia!

Utilizei esta seguinte fórmula para calcular determinados valores ao longo de um ano no Qlik Sense:

=Sum({$<[Mês]*={'jan','fev','mar','abr','mai','jun'}>}[Valor])

O Set Analysis está correto e está me retornando o que preciso, mas gostaria de saber se há uma fórmula específica para que eu não preciso todo mês, mexer neste código inserindo o mês atual.

Atenciosamente.

1 Solution

Accepted Solutions
alexbenderkv
New Contributor III

Re: Fórmula para calcular em um período anterior ao mês atual

Oi Ricardo,


SUM({<DATA= {">=$(=YearStart(Today())) <=$(=Date(MonthStart(Today())-1))"} >} VALOR )


Caso esteja pegando o ano como base 2018,

Essa por exemplo pega do primeiro dia de janeiro 01/01/2018 até 30/06/2018, ai no mês que vem ela pega até 31/07/2018 e assim por diante sem precisar mexer

YearStart(Today()) --> Retorna o primeiro dia do ano

MonthStart(Today()) --> Retorna 01/07/2018

MonthStart(Today())-1 --> Retorna 30/06/2018


Ve se te ajuda assim

9 Replies
karczevski
New Contributor II

Re: Fórmula para calcular em um período anterior ao mês atual

Month(Today())-1 não atenderia oque precisa?

alexbenderkv
New Contributor III

Re: Fórmula para calcular em um período anterior ao mês atual

Olá Ricardo,

Veja se alguma dessa maneira te ajuda

Today() --> 12/07/2018

Date(Today(),'YYYYMM')   --> 201807


DATE(AddMonths(Today(),1),'YYYYMM')   --> 201808

DATE(AddMonths(Today(),-1),'YYYYMM')  --> 201806

DATE(AddMonths(Today(),-2),'YYYYMM')  --> 201805

DATE(AddMonths(Today(),-3),'YYYYMM')  --> 201804

DATE(AddMonths(Today(),-12),'YYYYMM')  --> 201707  --> Mesmo Mês do Ano Passado


Abaixo a mesma comparação acima, porém dinamico, comparando o Mes atual com o Mes Passado


Valor de Venda do Mês Atual

SUM( {<DT_ANOMES_VENDA={"$(=Date#(Text(DATE(Today(),'YYYYMM'))))"}   >}  VALOR_VENDA)


Valor de Venda do Mês Anterior

SUM( {<DT_ANOMES_VENDA={"$(=Date#(Text(DATE(AddMonths(Today(),-1),'YYYYMM'))))"}   >}  VALOR_VENDA)


Valor de Venda do mesmo Mês no Ano Passado

SUM({<DT_ANOMES_VENDA={"$(=Date#(Text(DATE(AddMonths(Today(),-12),'YYYYMM'))))"}   >}  VALOR_VENDA)


Soma dos Ultimos 6 Meses:

SUM({<DT_ANOMES_VENDA={">=$(=MonthStart(AddMonths(Today(),-6))) <=$(=Date(MonthStart(Today())-1))"}>}  VALOR_VENDA)


Espero ter ajudado

ricardoregis
New Contributor II

Re: Fórmula para calcular em um período anterior ao mês atual

Infelizmente não deu certo, era mais ou menos isso mesmo que eu tinha em mente.

Minha fórmula ficou assim:

=Sum({$<[Mês]*={Month(Today())-1}>}[Valor])

Atenciosamente.

ricardoregis
New Contributor II

Re: Fórmula para calcular em um período anterior ao mês atual

Alex, boa tarde!

Você algo que  que faça uma soma "ATÉ", de janeiro até determinado mês?

karczevski
New Contributor II

Re: Fórmula para calcular em um período anterior ao mês atual

=Sum({< [Mês] = {'$(=[Mês]-1)'} >} [Valor])

Tente assim

thiago_justen
Valued Contributor III

Re: Fórmula para calcular em um período anterior ao mês atual

Ricardo,

Somar até o mês corrente basicamente seria aplicar um sum(valor). Mas digamos que você queira apenas somar os valores do ano atual (jan até mês corrente):

Sum({<Ano={$(=Max(Ano))}>}Valor)


Ou ainda:

Sum({<Ano={"$(=Year(Today()))"}>}Valor)

Thiago Justen Teixeira Gonçalves
WhatsApp: 24 98152-1675
Skype: justen.thiago
alexbenderkv
New Contributor III

Re: Fórmula para calcular em um período anterior ao mês atual

Oi Ricardo,


SUM({<DATA= {">=$(=YearStart(Today())) <=$(=Date(MonthStart(Today())-1))"} >} VALOR )


Caso esteja pegando o ano como base 2018,

Essa por exemplo pega do primeiro dia de janeiro 01/01/2018 até 30/06/2018, ai no mês que vem ela pega até 31/07/2018 e assim por diante sem precisar mexer

YearStart(Today()) --> Retorna o primeiro dia do ano

MonthStart(Today()) --> Retorna 01/07/2018

MonthStart(Today())-1 --> Retorna 30/06/2018


Ve se te ajuda assim

ricardoregis
New Contributor II

Re: Fórmula para calcular em um período anterior ao mês atual

Aleluia rsrs Alex, deu certo para o ano de 2018!

Mas fiquei curioso se esta mesma fórmula se aplicaria a um período anterior.

Muito obrigado.

alexbenderkv
New Contributor III

Re: Fórmula para calcular em um período anterior ao mês atual

Então Ricardo,

Geralmente quando eu faço algo parecido, sempre crio no Script um campo com ANO/MES,

tipo Date(MinhaData,'YYYY/MM') ai fica mais facil para trabalhar com períodos nos meus SetAnalysis.

Mas pode ir testando com as datas até chegar na data que deseja,

Caso queira pegar o primeiro dia do ano de 2017, por exemplo : AddMonths(YearStart(Today()),-12)

Pode usar a função AddMonths, passando como negativo que ele volta os meses que desejar.

Com esse Analysis aqui {">=  $(=DataDeSmiley Happy   <=  $(=DataAtéSmiley Happy"} >} da para fazer bastante comparação com intervalos de Data.

Espero ter ajudado.

Não esqueça de finalizar o Tópico caso tenha sanado suas duvidas,

Abraço..

Att.

Alex M. Bender