4 Replies Latest reply: May 4, 2012 1:39 PM by marcos ferreira RSS

    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.

        • Set Analysis - mes
          Aderlan Rodrigues

          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.

            • Re: Set Analysis - mes

              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.

                • Re: Set Analysis - mes
                  Cesar Accardi

                  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

                    • Re: Set Analysis - mes

                      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