20 Replies Latest reply: Jun 27, 2018 9:27 AM by Gilmaio ramos RSS

    Expressão

    Gilmaio ramos

      Nobres, bom dia preciso criar um filtro (expressão) e não estou conseguindo, help me please! é o seguinte:

       

      Preciso juntar as duas condições abaixo, sendo a primeira condição: sum ({<NATUREZA_EVENTO={'P'}, MES= {1,2,3}, EVENTO=-{187, 507,904,230}>} VALOR_EVENTO) * 12.23 / 100 e a segunda:  sum ({<NATUREZA_EVENTO={'P'}, MES= {4,5}, EVENTO=-{187, 507,904,230}>} VALOR_EVENTO) * 12.24 / 100

        • Re: Expressão
          Anderson Américo

          Olá,

           

          Não entendi bem o que precisa, mas veja se assim te atende:

           

          if(mes = 3 ,sum ({<NATUREZA_EVENTO={'P'}, MES= {1,2,3}, EVENTO=-{187, 507,904,230}>} VALOR_EVENTO) * 12.23 / 100 ,

          sum ({<NATUREZA_EVENTO={'P'}, MES= {4,5}, EVENTO=-{187, 507,904,230}>} VALOR_EVENTO) * 12.24 / 100)

            • Re: Expressão
              Gilmaio ramos

              Anderson, tentando clarear:

               

              1) Se a condição (filtro) for:  {<NATUREZA_EVENTO={'P'}, MES= {1,2,3}, EVENTO=-{187, 507,904,230}>}

               

              então fazer isso:

               

              sum ({<NATUREZA_EVENTO={'P'}, MES= {1,2,3}, EVENTO=-{187, 507,904,230}>} VALOR_EVENTO) * 12.23 / 100

               

               

               

              2) Se a condição (filtro) for: {<NATUREZA_EVENTO={'P'}, MES= {4,5}, EVENTO=-{187, 507,904,230}>}

               

              Então fazer isso:

               

              sum ({<NATUREZA_EVENTO={'P'}, MES= {4,5}, EVENTO=-{187, 507,904,230}>} VALOR_EVENTO) * 12.24 / 100)

                • Re: Expressão
                  Marcel Vinícius de Oliveira

                  Boa tarde,

                   

                  Será que ajudaria?

                   

                   

                  IF(NATUREZA_EVENTO = 'P' and (MES= 1 or MES = 2 or MES = 3) and (EVENTO <> 187 or EVENTO <> 507 or EVENTO <> 904 or EVENTO <> 230 ),

                  sum ({<NATUREZA_EVENTO={'P'}, MES= {1,2,3}, EVENTO=-{187, 507,904,230}>} VALOR_EVENTO) * 12.23 / 100,

                  IF(NATUREZA_EVENTO = 'P' and (MES= 4 or MES = 5) and (EVENTO <> 187 or EVENTO <> 507 or EVENTO <> 904 or EVENTO <> 230 ),

                  sum ({<NATUREZA_EVENTO={'P'}, MES= {4,5}, EVENTO=-{187, 507,904,230}>} VALOR_EVENTO) * 12.24 / 100),

                  sum(VALOR_EVENTO)))



                    • Re: Expressão
                      Gilmaio ramos

                      Marcel, na forma proposta por você apresentou erro! fiz pequenos ajustes resultando na expressão abaixo, gostaria que que fosse inserida o valor (sum (VALOR_EVENTO) a fim de apresentar o resultado (soma) na tabela.

                       

                      =IF(NATUREZA_EVENTO = 'P' and (MES= 1 or MES = 2 or MES = 3) and (EVENTO <> 187 or EVENTO <> 507 or EVENTO <> 904 or EVENTO <> 230 )

                      ,sum ({<NATUREZA_EVENTO={'P'}, EVENTO-={187, 507,904,230}>} VALOR_EVENTO) * 12.23 / 100,

                       

                      IF(NATUREZA_EVENTO = 'P' and (MES= 4 or MES = 5) and (EVENTO <> 187 or EVENTO <> 507 or EVENTO <> 904 or EVENTO <> 230 )

                      ,sum ({<NATUREZA_EVENTO={'P'}, EVENTO-={187, 507,904,230}>} VALOR_EVENTO) * 12.24 / 100,))

                        • Re: Expressão
                          Marcel Vinícius de Oliveira

                          Amigo Gilmaio,

                           

                          Não entendi, você quer assim? Ou assim esta dando erro?

                           

                          =IF(NATUREZA_EVENTO = 'P' and (MES= 1 or MES = 2 or MES = 3) and (EVENTO <> 187 or EVENTO <> 507 or EVENTO <> 904 or EVENTO <> 230 )

                          ,sum ({<NATUREZA_EVENTO={'P'}, EVENTO-={187, 507,904,230}>} VALOR_EVENTO) * 12.23 / 100,

                           

                          IF(NATUREZA_EVENTO = 'P' and (MES= 4 or MES = 5) and (EVENTO <> 187 or EVENTO <> 507 or EVENTO <> 904 or EVENTO <> 230 )

                          ,sum ({<NATUREZA_EVENTO={'P'}, EVENTO-={187, 507,904,230}>} VALOR_EVENTO) * 12.24 / 100,

                          sum (VALOR_EVENTO) ))

                            • Re: Expressão
                              Gilmaio ramos

                              Marcel, quase! ocorre que essa soma no final não está considerando os filtros, e consequentemente o resultado é diferente das somas individuais, por ex:

                               

                              Evento    Valor  Critério

                              1            10,00    1

                              2            20,00    2

                              Total       35,00

                               

                              ===> A soma tem que considerar os critérios, que são os filtros:

                               

                              =IF(NATUREZA_EVENTO = 'P' and (MES= 1 or MES = 2 or MES = 3) and (EVENTO <> 187 or EVENTO <> 507 or EVENTO <> 904 or EVENTO <> 230 )

                              ,sum ({<NATUREZA_EVENTO={'P'}, EVENTO-={187, 507,904,230}>} VALOR_EVENTO) * 12.23 / 100,

                               

                              IF(NATUREZA_EVENTO = 'P' and (MES= 4 or MES = 5) and (EVENTO <> 187 or EVENTO <> 507 or EVENTO <> 904 or EVENTO <> 230 )

                              ,sum ({<NATUREZA_EVENTO={'P'}, EVENTO-={187, 507,904,230}>} VALOR_EVENTO) * 12.24 / 100,

                                • Re: Expressão
                                  Marcel Vinícius de Oliveira

                                  Será que não auxilia:

                                   

                                  =IF(GetFieldSelections(NATUREZA_EVENTO = 'P' and (MES= 1 or MES = 2 or MES = 3) and (EVENTO <> 187 or EVENTO <> 507 or EVENTO <> 904 or EVENTO <> 230 ))

                                  ,sum ({<NATUREZA_EVENTO={'P'}, EVENTO-={187, 507,904,230}>} VALOR_EVENTO) * 12.23 / 100,

                                   

                                  IF(GetFieldSelections(NATUREZA_EVENTO = 'P' and (MES= 4 or MES = 5) and (EVENTO <> 187 or EVENTO <> 507 or EVENTO <> 904 or EVENTO <> 230 ))

                                  ,sum ({<NATUREZA_EVENTO={'P'}, EVENTO-={187, 507,904,230}>} VALOR_EVENTO) * 12.24 / 100,

                                  sum (VALOR_EVENTO) ))

                                    • Re: Expressão
                                      Gilmaio ramos

                                      Assim ele desconsidera os filtros. Apresenta o resultado como sendo diretamente a soma (sum( VALOR_EVENTO) sem os filtros.

                                       

                                      Tentei inserir os dois filtros no último campo da expressão: sum( VALOR_EVENTO) mas não deu certo.

                                        • Re: Expressão
                                          Marcel Vinícius de Oliveira

                                          Tem como disponibilizar um QVF?

                                           

                                          Poucos dados...

                                           

                                          Valeu

                                            • Re: Expressão
                                              Gilmaio ramos

                                              O resultado da expressão sem o valor  sum (VALOR_EVENTO)  está apresentado na imagem abaixo. Gostaria que fosse apresentado essa soma só que ela tem que considerar os filtros para apresentar de forma correta. o valor sum (VALOR_EVENTO) soma sem considerar os filtros.Qlikview1.JPG

                                                • Re: Expressão
                                                  Marcel Vinícius de Oliveira

                                                  IF(IsNull(GetFieldSelections(NATUREZA_EVENTO,MES,EVENTO)), sum (VALOR_EVENTO),

                                                  IF( NATUREZA_EVENTO = 'P' and (MES= 1 or MES = 2 or MES = 3) and (EVENTO <> 187 or EVENTO <> 507 or EVENTO <> 904 or EVENTO <> 230 ))

                                                  ,sum ({<NATUREZA_EVENTO={'P'}, EVENTO-={187, 507,904,230}>} VALOR_EVENTO) * 12.23 / 100,

                                                  IF(NATUREZA_EVENTO = 'P' and (MES= 4 or MES = 5) and (EVENTO <> 187 or EVENTO <> 507 or EVENTO <> 904 or EVENTO <> 230 ))

                                                  ,sum ({<NATUREZA_EVENTO={'P'}, EVENTO-={187, 507,904,230}>} VALOR_EVENTO) * 12.24 / 100)))

                                                   

                                                  Você já fez o teste com menos variáveis? Se não é algum problema de aspas?

                                                    • Re: Expressão
                                                      Gilmaio ramos

                                                      Essa última apresentou erro!

                                                       

                                                      A expressão está retornando os dados desejados, apenas a soma (Total Geral) que não está correto.

                                                       

                                                      Pensei em algo iniciando com: =sum ( ...  VALOR_EVENTO) mas não consigo fechar a expressão corretamente. inserindo as condições.

                                                       

                                                      A expressão abaixo está correta! apenas o soma (Total Geral) não está...

                                                       

                                                      =IF(NATUREZA_EVENTO = 'P' and (MES= 1 or MES = 2 or MES = 3) and (EVENTO <> 187 or EVENTO <> 507 or EVENTO <> 904 or EVENTO <> 230 ),

                                                       

                                                      sum ({<NATUREZA_EVENTO={'P'}, EVENTO-={187, 507,904,230}>} VALOR_EVENTO) * 12.23 / 100,

                                                       

                                                      IF(NATUREZA_EVENTO = 'P' and (MES= 4 or MES = 5) and (EVENTO <> 187 or EVENTO <> 507 or EVENTO <> 904 or EVENTO <> 230 ),

                                                       

                                                      sum ({<NATUREZA_EVENTO={'P'}, EVENTO-={187, 507,904,230}>} VALOR_EVENTO) * 12.24 / 100,))

                                                        • Re: Expressão
                                                          Marcel Vinícius de Oliveira

                                                          Amigo Gilmaio,

                                                           

                                                          Faz um teste por favor, somente para avaliação:

                                                           

                                                          =IF(NATUREZA_EVENTO = 'P' and (MES= 1 or MES = 2 or MES = 3) and (EVENTO <> 187 or EVENTO <> 507 or EVENTO <> 904 or EVENTO <> 230 ),

                                                          sum ({<NATUREZA_EVENTO={'P'}, EVENTO-={187, 507,904,230}>} VALOR_EVENTO) * 12.23 / 100,

                                                          IF(NATUREZA_EVENTO = 'P' and (MES= 4 or MES = 5) and (EVENTO <> 187 or EVENTO <> 507 or EVENTO <> 904 or EVENTO <> 230 ),

                                                          sum ({<NATUREZA_EVENTO={'P'}, EVENTO-={187, 507,904,230}>} VALOR_EVENTO) * 12.24 / 100,

                                                          sum ({<NATUREZA_EVENTO-={'P'}, EVENTO={187, 507,904,230}>} VALOR_EVENTO)))

                                      • Re: Expressão
                                        Fernando Tonial

                                        Olá, seria mais elegante você colocar esse fator de multiplicação em um campo ao lado do campo VALOR_EVENTO com esses valores e fazer assim a sua expressão.

                                         

                                        Sum ({<NATUREZA_EVENTO={'P'}, EVENTO=-{187, 507,904,230}>} VALOR_EVENTO* CAMPO_MULTIPLICACAO_MESANO )  / 100)

                                         

                                         

                                        Don't worry, be Qlik.

                                        Tonial.

                                          • Re: Expressão
                                            Gilmaio ramos

                                            Não sei se entendi muito bem, mas esse campo sugerido (CAMPO_MULTIPLICACAO_MESANO) não o tenho (os percentuais 12,23 e 12,24) são valores externos aos eventos.

                                              • Re: Expressão
                                                Fernando Tonial

                                                Sei que os valore são externos, mas será melhor vc fazer como lhe disse.

                                                 

                                                Dados:

                                                LOAD RowNo() AS ORDEM, NATUREZA_EVENTO, MÊS, EVENTO, VALOR_EVENTO, If(Match(MÊS,'1','2','3'),12.23,12.24) AS MULTIPLICADOR INLINE [

                                                    NATUREZA_EVENTO, MÊS, EVENTO, VALOR_EVENTO

                                                    P, 1, 10, 10

                                                    A, 1, 187, 20

                                                    P, 2, 10, 20

                                                    A, 2, 187, 30

                                                    P, 3, 10, 30

                                                    A, 3, 187, 40

                                                    P, 4, 10, 40

                                                    A, 4, 187, 50

                                                    P, 5, 10, 50

                                                    A, 5, 187, 60

                                                ];

                                                 

                                                Expressão 1

                                                Sum ({<NATUREZA_EVENTO={'P'}, EVENTO-={187, 507,904,230}>} VALOR_EVENTO * MULTIPLICADOR) / 100

                                                 

                                                Expressão 2

                                                Sum ({<NATUREZA_EVENTO={'P'}, EVENTO-={187, 507,904,230}>} VALOR_EVENTO)

                                                 

                                                Screenshot_2.png

                                          • Re: Expressão
                                            Gilmaio ramos

                                            Anderson, obrigado pela colaboração!

                                             

                                            Apesar de o total geral não estar listado, fechei a expressão em:

                                             

                                            =IF(NATUREZA_EVENTO = 'P' and (MES= 1 or MES = 2 or MES = 3) and (EVENTO <> 187 or EVENTO <> 507 or EVENTO <> 904 or EVENTO <> 230 ),sum ({<NATUREZA_EVENTO={'P'}, EVENTO-={187, 507,904,230}>} VALOR_EVENTO) * 12.23 / 100,

                                             

                                            IF(NATUREZA_EVENTO = 'P' and (MES= 4 or MES = 5) and (EVENTO <> 187 or EVENTO <> 507 or EVENTO <> 904 or EVENTO <> 230 ),sum ({<NATUREZA_EVENTO={'P'}, EVENTO-={187, 507,904,230}>} VALOR_EVENTO) * 12.24 / 100,))