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

Duvida em tratar filtro de datas especificas

Boa tarde pessoal,

Então, eu estou com um probleminha para escrever uma expressão, já perdi algumas horas e não consigo evoluir.

A situação é a seguinte:

Tenho 2 filtros, um de Mês e outro de Ano. Acontece que eu preciso trazer o valor com base em um teste de datas, sendo que SE a data de hoje for Maior que a data do Ultimo mês do Ano filtrado eu quero que o calculo seja feito com base na data do ultimo Mês e Ano filtrado, senão eu quero que seja feito com base no mês e Ano atual (de hoje).

Logo if(today() > YearEnd(CALENDARIO.MESANO,0),'VERDADEIRO','FALSO') o teste está funcionando corretamente, pois Verdadeiro e Falso aparecem nas situações que eu preciso.

O problema se dá quando incluo a expressão da contagem, aí dá erro e não consigo resolver.

if(today() > YearEnd(CALENDARIO.MESANO,0),

    Count({<BENEFICIARIO.ATIVO={'SIM'},CALENDARIO.MESANO={"$(date(YearEnd(CALENDARIO.MESANO,0),'MM/YYYY')">} BENEFICIARIO.CARTEIRINHA),

     Count({<BENEFICIARIO.ATIVO={'SIM'},CALENDARIO.MESANO=today()>} BENEFICIARIO.CARTEIRINHA))

Meu problema está na condição destacada. Alguém tem alguma ideia?

Labels (1)
1 Solution

Accepted Solutions
ep_piccini
Contributor
Contributor

Boa Tarde Daniel,

Faça o seguinte teste e me avise se deu certo.

Count({<CALENDARIO.MESANO={"$(=date(rangemin(max({<CALENDARIO.MES=>}CALENDARIO.MESANO),today()),'MM/YYYY'))"},BENEFICIARIO.ATIVO={'SIM'},CALENDARIO.MES=>}BENEFICIARIO.CARTEIRINHA)

View solution in original post

3 Replies
Thiago_Justen_

Daniel,

Teste por favor no teu if:

if(today() > YearEnd(CALENDARIO.MESANO,0),

Count({<BENEFICIARIO.ATIVO={'SIM'}>} BENEFICIARIO.CARTEIRINHA),

     Count({<BENEFICIARIO.ATIVO={'SIM'},CALENDARIO.MESANO={"$(=MonthName(Today()))"}>} BENEFICIARIO.CARTEIRINHA))

Thiago Justen Teixeira Gonçalves
Farol BI
WhatsApp: 24 98152-1675
Skype: justen.thiago
daniel_vale
Creator
Creator
Author

Boa tarde,

Obrigado pela ajuda Thiago, testei teu código, mas aconteceu o seguinte, quando ele cai na condição verdadeira ele pega os dados do mês e Ano que estou selecionando quando deveria pegar o ultimo mês deste ano.

Quando cai na condição falsa, ele não conta, fica zerado, quando na verdade deveria contar com base no mês e ano de hoje.

Então assim, se eu filtrar qualquer mês de 2017 a contagem será com base em 12/2017. Se eu filtrar qualquer mês de 2018 ele deverá contar com base em 06/2018, pois é o mês que estamos hoje.

Não sei se estou me fazendo entender...

ep_piccini
Contributor
Contributor

Boa Tarde Daniel,

Faça o seguinte teste e me avise se deu certo.

Count({<CALENDARIO.MESANO={"$(=date(rangemin(max({<CALENDARIO.MES=>}CALENDARIO.MESANO),today()),'MM/YYYY'))"},BENEFICIARIO.ATIVO={'SIM'},CALENDARIO.MES=>}BENEFICIARIO.CARTEIRINHA)