Skip to main content
Announcements
Qlik Connect 2024! Seize endless possibilities! LEARN MORE
cancel
Showing results for 
Search instead for 
Did you mean: 
bpdsouza2612
Contributor II
Contributor II

Comparação por Mês Jun18 x Jan18

Boa tarde!

Gostaria de verificar, se há possibilidades de fazer um comparativo com o mesmo ano porém com meses diferentes,

Exemplos: 


Jun18 x Jan18 = Venda (Jun18 - Jan18 / Jun18)

Jun18 x Mar18 = Venda (Jun18 - Mar18 / Jun18)

Não achei um comando para a necessidade.

Se possível incluir aqui a fórmula agradeço.

No aguardo.

Labels (1)
1 Solution

Accepted Solutions
alexbenderkv
Contributor III
Contributor III

Oi Bruno, Estou bem também,

Entendi sua colocação,

para isso pode usar a função AddMonths(Today(),-2), que ele sempre vai pegar dois meses atrás.

Ai você formata conforme seu campo,

Caso seu "Month" seja:

ex: 012018 use: Date(AddMonths(Today(),-2),'MMYYYY')

ex: 01/2018 use: Date(AddMonths(Today(),-2),'MM/YYYY')

ex: 201801 use: Date(AddMonths(Today(),-2),'YYYYMM')

ex: caso seja somente o mes, use: Date(AddMonths(Today(),-2),'MM') ou Month(AddMonths(Today(),-2))


e assim por diante, conforme sua necessidade e conforma a mascara do campo que vai utilizar como filtro.


Espero ter ajudado,


Duvidas estou à disposição Bruno.


Att.

Alex M. Bender

View solution in original post

4 Replies
alexbenderkv
Contributor III
Contributor III

Boa tarde Bruno, tudo bem?

Tem como sim fazer comparativos utilizando como base meses diferentes

Abaixo alguns exemplos, porém note que fica uma coisa um pouco fixa, ai precisaria entender o contexto do que gostaria de apresentar para então poder ajudar com alguma solução mais específica que possa ser mais dinâmico.

LOAD

   DATE(DT_VENDA,'YYYYMM') AS DT_ANOMES_VENDA,

   VALOR_VENDA

FROM ....


=(SUM( {<DT_ANOMES_VENDA={'201806'}   >}  VALOR_VENDA) - SUM( {<DT_ANOMES_VENDA={'201801'}   >}  VALOR_VENDA)) / SUM( {<DT_ANOMES_VENDA={'201806'}   >}  VALOR_VENDA)


Ai podemos mudar esses valores fixos por alguma função que retorna uma data específica.


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


Se puder, nos envie o contexto do que esta precisando mesmo, ai vemos se podemos ajudar melhor.


Att


Alex M Bender


bpdsouza2612
Contributor II
Contributor II
Author

Bom dia !

Alex, Estou bem e voce ?

Muito boa a explicação, já deu um norte da situação que preciso.

No caso específico seria:

Hoje a data que temos já seria o mês fechado, então no lugar (Today()-1) seria (Month-2), e essa comparação seria do (Month x Month-2)

Então usando sua explicação, posso considerar conforme abaixo ?

Valor de Venda do Mês - 2

SUM( {< Month ={"$(= Month-2 )))"}   >}  VALOR_VENDA)

No caso a comparação seria com meses pares e impares, Março com Janeiro, Abril com Fevereiro ...

No aguardo. 

alexbenderkv
Contributor III
Contributor III

Oi Bruno, Estou bem também,

Entendi sua colocação,

para isso pode usar a função AddMonths(Today(),-2), que ele sempre vai pegar dois meses atrás.

Ai você formata conforme seu campo,

Caso seu "Month" seja:

ex: 012018 use: Date(AddMonths(Today(),-2),'MMYYYY')

ex: 01/2018 use: Date(AddMonths(Today(),-2),'MM/YYYY')

ex: 201801 use: Date(AddMonths(Today(),-2),'YYYYMM')

ex: caso seja somente o mes, use: Date(AddMonths(Today(),-2),'MM') ou Month(AddMonths(Today(),-2))


e assim por diante, conforme sua necessidade e conforma a mascara do campo que vai utilizar como filtro.


Espero ter ajudado,


Duvidas estou à disposição Bruno.


Att.

Alex M. Bender

bpdsouza2612
Contributor II
Contributor II
Author

Alex.

Muito Bom,

Relatório executado com sucesso.

Agradeço pela ajuda.

Fico a disposição para qualquer eventualidade.

Abraços Mestre