Skip to main content
Announcements
Have questions about Qlik Connect? Join us live on April 10th, at 11 AM ET: SIGN UP NOW
cancel
Showing results for 
Search instead for 
Did you mean: 
Anonymous
Not applicable

Mostrador exibindo conforme a seleção

Pessoal, boa noite.

Tenho um mostrador no qual gostaria de comparar a % de crescimento do mês conforme a seleção.

Vejam como esta:

Medida:  Sum({<[Emissão.autoCalendar.Month]={'$(vMesAtual)'}>}qcom) / Sum({<[Emissão.autoCalendar.Month]={'$(vMesAnterior)'}>}qcom)

Variável:  vMesAnterior =Month(Max(AddMonths(Today(),-1)))

               vMesAtual  =Month(Max(Today()))

 

Meu formato de data é 01/01/2016, utilizei o autocalendar.  Usei o AddMonths pois meus meses estão Jan, Fev, Mar... assim por diante.

O que ocorre é que, mesmo clicando nos outros meses que tenho aqui o mostrador fica fixo no mês atual, ou seja se eu clico em fevereiro ele não compara a quantidade de venda com janeiro, e assim por diante.

Obrigado pessoal.

Labels (1)
1 Solution

Accepted Solutions
afurtado
Partner Ambassador/MVP
Partner Ambassador/MVP

Diego,

as suas variáveis estão usando a data corrente e portanto pega o mês atual.  

Não sei qual o nome do campo com a data.....mas seria algo parecido....

vMesAnterior  = month( addmonths( max(Emissão.autoCalendar.Date) ,-1 ) )

vMesAtual      = Month(Max(Emissão.autoCalendar.Date)))


Não esquecer que neste formato comparando o mês, podes ter problemas quando selecionar Janeiro com o ano......

Eu faria duas datas, inicial e final e usarias ela no set analysis ou colocar a seleção do ano também.....


furtado@farolbi.com.br

View solution in original post

6 Replies
afurtado
Partner Ambassador/MVP
Partner Ambassador/MVP

Diego,

as suas variáveis estão usando a data corrente e portanto pega o mês atual.  

Não sei qual o nome do campo com a data.....mas seria algo parecido....

vMesAnterior  = month( addmonths( max(Emissão.autoCalendar.Date) ,-1 ) )

vMesAtual      = Month(Max(Emissão.autoCalendar.Date)))


Não esquecer que neste formato comparando o mês, podes ter problemas quando selecionar Janeiro com o ano......

Eu faria duas datas, inicial e final e usarias ela no set analysis ou colocar a seleção do ano também.....


furtado@farolbi.com.br
Anonymous
Not applicable
Author

Alessandro, entendi agora a questão da data corrente ao usar o Today.

Meu campo de data após a extração do auto calendar é Emissão e ai por diante conforme você colocou no exemplo. 

Emissão.autoCalendar.Year, .month... e ai por diante.

Eu selecionei apenas o janeiro de 2017 e realmente quando seleciono junto ao Ano ele zera. Nesse caso estamos comparando mês a mês, e não mês do ano de 2017 com mês do ano de 2016, por exemplo.

Como posso achar uma solução melhor para esse caso? Como seria a questão das datas iniciais e finais?

Obrigado.

afurtado
Partner Ambassador/MVP
Partner Ambassador/MVP

Diego,

segue exemplo.....

// Para pegar inicio mes e final mes selecionado

=Sum({<Emissao_Ano=, Emissao_Mes=, Emissao_Data={'>=$(=MonthStart(Max(Emissao_Data)))<=$(=MonthEnd(Max(Emissao_Data)))'}>} Valor)

//Para pegar inicio mes e final do mes anterior ao selecionado

=Sum({<Emissao_Ano=, Emissao_Mes=, Emissao_Data={'>=$(=MonthStart(Max(Emissao_Data), -1))<=$(=MonthEnd(Max(Emissao_Data), -1))'}>} Valor)

furtado@farolbi.com.br
Not applicable
Author

Pessoal,

Tenho um problema parecido com este, preciso comparar duas datas, onde se a data 1 for mais que a data 2 o resultado tem que ser SIM, se não , tem que resultar em Não.

Podem me ajudar?

no Sql fica assim:

CASE WHEN (hd_chamado.dttermino IS NOT NULL AND hd_chamado.cdsituacao <> 5) THEN CASE WHEN hd_chamado.dttermino > hd_chamado.dtprevisaotermino THEN 'Y' ELSE 'N'

END ELSE CASE WHEN hd_chamado.dtprevisaotermino < GETDATE() AND hd_chamado.cdsituacao <> 5 THEN 'Y' ELSE 'N' END END AS CALC_MANUAL,

afurtado
Partner Ambassador/MVP
Partner Ambassador/MVP

Cesar,  em Qlik ficaria

     if(not isnull(hd_chamado.dttermino) AND hd_chamado.cdsituacao <> 5,

        if(hd_chamado.dttermino > hd_chamado.dtprevisaotermino ,'Y','N'),

        if(hd_chamado.dtprevisaotermino < today() AND hd_chamado.cdsituacao <> 5 , 'Y','N'))   as CALC_MANUAL

furtado@farolbi.com.br
Not applicable
Author

Muito obrigado.

Obter o Outlook para Android<https://aka.ms/ghei36>