Qlik Community

Qlik Brasil

Group community for Brazil users. discussion only in Portuguese.

Highlighted
agnaldoneves
Not applicable

Ano anterior vs Ano atual (Proporcional) (Sem Filtros)

Tenho esta expressão que me ajuda na me retornar o mês anterior. Proporcional ao Mês atual.

Funciona 100% (Sem Filtros)

Sum({$<data = {'>=$(=Monthstart(addmonths(Today(),-2)))<=$(=addmonths(Today(),-2))'},[operacao]={'V'} >}valor)

Como faço com o Ano a Mesma expressão ano anterior ( (Sem Filtros))

Agnaldo Neves
Programador de Sistemas
Tags (1)
1 Solution

Accepted Solutions
fernando_tonial
Not applicable

Re: Ano anterior vs Ano atual (Proporcional) (Sem Filtros)

Olá,

Você pode fazer assim:

Crie um campo flag na sua tabela de calendário.

  1. LET vHoje = Today(); 
  2.  
  3. If(Data<='$(vHoje)',1,0)                              as FlgRealizado,

Crie 4 variáveis através do Menu Configuração > Visão Geral das Variáveis:

  1. vInicioYTDAtual => =Max({<FlgRealizado={1}>} Data) 
  2. vFimYTDAtual => =YearStart(Max({<FlgRealizado={1}>} Data)) 
  3. vInicioYTDAnterior => =AddYears(Max({<FlgRealizado={1}>} Data),-1) 
  4. vFimYTDAnterior => =YearStart(AddYears(Max({<FlgRealizado={1}>} Data),-1)


Faça assim as duas expressões assim: YTD Atual

Sum({<Data={">=$(vInicioYTDAtual)<=$(vFimYTDAtual)"}, [operacao]={'V'} , Mês=, Ano=>} Valor)


YTD Anterior

Sum({<Data={">=$(vInicioYTDAnterior)<=$(vFimYTDAnterior)"}, [operacao]={'V'} , Mês=, Ano=>} Valor) 

Fazendo assim sempre para o cada ano será a maior data do ano, no caso de 2016 será 05/02/2016 e 2015 será 05/02/2015

Espero ter ajudado.

Don't worry, be Qlik.

Tonial.

8 Replies
fabionakashigue
Not applicable

Re: Ano anterior vs Ano atual (Proporcional)

Agnaldo,

Segue:

Sum({$<data = {'>=$(=YearStart(AddYears(Today(),-1)))<=$(=AddYears(Today(),-1))'},[operacao]={'V'} >}valor)

Ps: Lembre-se que na sua expressão informada, você deve trocar para -1 caso queira o mês anterior.

Abs

cesaraccardi
Not applicable

Re: Ano anterior vs Ano atual (Proporcional) (Sem Filtros)

Ola Agnaldo,

A funcao addmonths() e usada para calcular datas, o segundo parametro "-2" corresponde ao numero de meses que voce deseja calcular, negativo significa periodo anterior. Se voce substituir -2 por -12 estara calculando 12 meses atras ou seja um ano.

Abracos,

Cesar

agnaldoneves
Not applicable

Re: Ano anterior vs Ano atual (Proporcional) (Sem Filtros)

Cesar

Talvez não tenha explicando bem

Veja que o Mês atual e Mês anterior estão sem filtros.

Veja também que o ano de 2016 está sem filtro (ele soma o ano atual 2016)

O que eu quero é quer o Ano 2015 some até o periodo proporcional a este ano, igual ao mês.

Acima não existe nenhum filtro.

Coloque a expressão que eu fiz . Ano 2015 ficou errado ele não somou o periodo do ano passado proporcional ao periodo deste ano.

2016-02-05_12-32-13.png

Agnaldo Neves
Programador de Sistemas
Not applicable

Re: Ano anterior vs Ano atual (Proporcional) (Sem Filtros)

Estou usando assim.

=num(year(max(addmonths(DATA_REFERENCIA,-12))), '####')

=num(Sum({$<ANO_REFERENCIA={$(Vanoanterior)}>} VALOR_BRUTO)/1000000,  '#.##0' & 'M')

agnaldoneves
Not applicable

Re: Ano anterior vs Ano atual (Proporcional) (Sem Filtros)

Não deu certo. para mim

Não existe como fazer a expressão direta igual ao do Mês?

Agnaldo Neves
Programador de Sistemas
fernando_tonial
Not applicable

Re: Ano anterior vs Ano atual (Proporcional) (Sem Filtros)

Olá,

Você pode fazer assim:

Crie um campo flag na sua tabela de calendário.

  1. LET vHoje = Today(); 
  2.  
  3. If(Data<='$(vHoje)',1,0)                              as FlgRealizado,

Crie 4 variáveis através do Menu Configuração > Visão Geral das Variáveis:

  1. vInicioYTDAtual => =Max({<FlgRealizado={1}>} Data) 
  2. vFimYTDAtual => =YearStart(Max({<FlgRealizado={1}>} Data)) 
  3. vInicioYTDAnterior => =AddYears(Max({<FlgRealizado={1}>} Data),-1) 
  4. vFimYTDAnterior => =YearStart(AddYears(Max({<FlgRealizado={1}>} Data),-1)


Faça assim as duas expressões assim: YTD Atual

Sum({<Data={">=$(vInicioYTDAtual)<=$(vFimYTDAtual)"}, [operacao]={'V'} , Mês=, Ano=>} Valor)


YTD Anterior

Sum({<Data={">=$(vInicioYTDAnterior)<=$(vFimYTDAnterior)"}, [operacao]={'V'} , Mês=, Ano=>} Valor) 

Fazendo assim sempre para o cada ano será a maior data do ano, no caso de 2016 será 05/02/2016 e 2015 será 05/02/2015

Espero ter ajudado.

Don't worry, be Qlik.

Tonial.

Not applicable

Re: Ano anterior vs Ano atual (Proporcional) (Sem Filtros)

Variavel:VanoAnterior =num(year(max(addmonths(DATA_REFERENCIA,-12))), '####')

agnaldoneves
Not applicable

Re: Ano anterior vs Ano atual (Proporcional) (Sem Filtros)

Antes: Certo para mês

Sum({$<data = {'>=$(=Monthstart(addmonths(Today(),-2)))<=$(=addmonths(Today(),-2))'},[operacao]={'V'} >}valor)

Depois certo para o Ano:

Sum({$<data = {'>=$(=YearStart(addYears(Today(),-1)))<=$(=addYears(Today(),-1))'},[operacao]={'V'} >}valor)

Testei o valor e funcionou. Issó será preciso pois sera visto numa TV e precisará está sempre amostra.

A resposta do Fernando está correta.

Bom quando demorou um pouco. fui para dentro do help do qlik e procurei as expressões corresponde e fiz

assim acima.

Obrigado Fernando, testei a seu e também funcionou.

Mas já tinha quebrado a cabeça.

Agnaldo Neves
Programador de Sistemas