Skip to main content
Announcements
Live today at 11 AM ET. Get your questions about Qlik Connect answered, or just listen in. 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>