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

Set Analysis - mes

Ola

Em Março expus um problema, onde inicialmente estava tentando utiliza o above, e com o apoio recebido, especialmente do Cesar Accardi, consegui resolver via set analysis (http://community.qlik.com/thread/49825). Bueno, agora estou me "batendo" pois não consigo separa o total dentro do mes.

Tenho a seguinte expressao:

if(Only(cd_sintetica)= '-11', sum({$<cd_clco_sint ={ '9.00.00','10.00.00'} ,cd_sintetica=>} total vl_financeiro_realizado) ,

if(Only(cd_sintetica)= '-13', sum({$<cd_clco_sint ={ '10.00.02'} ,cd_sintetica=>} total vl_financeiro_realizado) -

                             sum({$<cd_clco_sint ={ '6.00.00'} ,cd_sintetica=>} total vl_financeiro_realizado),

if(Only(cd_sintetica)= '-14',  sum({$<cd_clco_sint ={ '9.00.00','10.00.00'} ,cd_sintetica=>} total vl_financeiro_realizado) +

                                sum({$<cd_clco_sint ={ '6.00.00','10.00.02'} ,cd_sintetica=>} total vl_financeiro_realizado) ,

sum(vl_financeiro_realizado))))

Se estou com apenas um mes selecionado, tudo funciona maravilhosamente, conforme esta imagem

tela.jpg

Porem se seleciono mais de um mes, faz o total destes meses selecionados, quando a deveria fazer o total de cada mes separadamente.

tela2.jpg

Observem que nesta segunda tela, todos os meses estão com a mesma soma, que é a resutante do total dos 3 meses. O objetivo é que janeiro fique com os valores identicos a figura 1 e os demais meses apenas com os seus valores respectivos.

4 Replies
aderlanrm
Partner - Specialist
Partner - Specialist

Olá Marcos,

Bela expressão heim! Rsrsrs...

Tenca colocar o mes no Set Analysis e vê se funciona.

Assim:

if(Only(cd_sintetica)= '-11', sum({$<cd_clco_sint ={ '9.00.00','10.00.00'} ,cd_sintetica=,mes>} total vl_financeiro_realizado) ,

if(Only(cd_sintetica)= '-13', sum({$<cd_clco_sint ={ '10.00.02'} ,cd_sintetica=,mes>} total vl_financeiro_realizado) -

                             sum({$<cd_clco_sint ={ '6.00.00'} ,cd_sintetica=,mes>} total vl_financeiro_realizado),

if(Only(cd_sintetica)= '-14',  sum({$<cd_clco_sint ={ '9.00.00','10.00.00'} ,cd_sintetica=,mes>} total vl_financeiro_realizado) +

                                sum({$<cd_clco_sint ={ '6.00.00','10.00.02'} ,cd_sintetica=,mes>} total vl_financeiro_realizado) ,

sum(vl_financeiro_realizado))))

Confere pois posso ter esquecido algum lugar, outra coisa, você quer mesmo ignorar qualquer seleção feita em cd_sintetica, é isso mesmo?

Abraço.

Aderlan Rodrigues
Analista, Arquiteto de Dados e Piloto Amador Drone FPV
 (41) 9 9917-0869  www.BIdeAZ.com.br  Youtube.com/bideaz  Instagram.com/bideaz.in

"Nada é tão inútil quanto fazer eficientemente o que não deveria ser feito." (Peter Drucker)
Not applicable
Author

Oi Aderlan,

Seria bela se estivesse funcionando como desejo, rsrrs

Mas ja havia tentado desta forma, de colocar o mes, mas os valores não alteram, fica como se não tivesse feito nada, e quanto ao cd_sintetica, a ideia é somar todas, onde o cd_clco_sint seja = ao informado, no caso seria se -11, somar todos os cd_sinteticas onde cd_clco_sint = 9.00.00 e 10.00.00.

Estou anexando um qvw de teste, que foi a base para chegar até aqui, onde resulta na figura abaixo:

tela3.jpg

A expressao no identificar -5, deve somar o identifcar 1 e 2, logo em fev deveria ter 800 e em janeiro 300.

cesaraccardi
Specialist
Specialist

Olá Marcos, como vai?

Eu dei uma olhada no arquivo que você postou e tenho uma sugestão, dá uma olhada no anexo... Eu criei uma expressão para cada mês, você teria que montar 12 expressões, como a dimensão mês possui somente 12 valores possíveis acredito que a solução seja viável.

Abraços,
Cesar

Not applicable
Author

Oi Cesar,

Ótima ideia, fiz e funcionou.

Porem (sempre tem um né?) desta forma perdi um formatação que fazia no rotulo do mes, quando utilizava o mesmo como dimensão e agora, ele como expressao não sei como tratar isto, uma vez que a cor de fundo fica valendo para toda a coluna.    Alterava cor de fundo da dimensão de acordo com o mes de referencia escolhido  ->     =if(date#(cd_periodo, 'MM/YY')  <= MesReferencia, GREEN(), RED())

Inclui no exemplo, caso queira analisar.

tela.jpg