8 Replies Latest reply: Oct 28, 2011 9:16 AM by Cesar Accardi RSS

    COmo utilizar Sum(if

    ronandcezar

      Olá pessoal,

      Estou tentando utilizar a formula sum(if(Mês>10,0,qtd_vendas), porém não está funcionando.

      Alguém pode me ajudar?

       

      Obrigado

       

        • COmo utilizar Sum(if
          fsimoes

          Se vc utilizou a função month para criar o campo Mês, ele deve valer "out" e não 10.

          No entanto, sempre que possível o Qlikview grava os dados em dois formatos, numérico e alfanumérico, ou seja nesse caso, embora o mês seja representado como "out", ele vale 10, logo o que vc fez acima não esta errado, ele deveria compreender que out = 10.

          Acho que a confusão esta mais nos filtros aplicados, pois esse tipo de expressão é influenciado diretamente pela seleção

          Vc pode tentar:

          Sum(if(Num(Mês) > 10, 0, qtd_vendas))

          Mas acho que o problema mesmo esta nos filtros.

           

          • COmo utilizar Sum(if
            Mark Costa

            Uma outra dica Ronan, evite sempre que possível o uso de IF em Expressions. Dê preferência ao Set Analysis que possui performance superior.

            Neste caso, seu código ficaria parecido com o abaixo:

            Sum({$<Mês= {">10"}>} qtd_vendas)

              • COmo utilizar Sum(if
                ronandcezar

                Obrigado Mark, vou começar a pensar dessa maneire..

                 

                Ronan

                • COmo utilizar Sum(if

                  Mark, aproveitando o teu exemplo, preciso que na formula Sum({$<Mês= {">10"}>} qtd_vendas) o 10 seja o mês que estou selecionando (váriavel) pois preciso mostrar o valor do mês e o valor acumulado para o ano selecionado.

                  abs

                  Edson

                    • COmo utilizar Sum(if
                      Cesar Accardi

                      Olá antoniolli, se quiser utilizar com variáveis, basta usar a seguinte sintaxe:
                      Sum({$<Mês= {'$(variavel)'}>} qtd_vendas) ,
                      dessa forma a expansão de $ avalia o conteúdo da variável.

                        • COmo utilizar Sum(if

                          Boa tarde Cesar, obrigado pela ajuda, minha formula ainda não esta funcionando legal, veja como estou desenvolvendo SUM({1<ANO=ANO, MES={"<=$(MES)"}}>}TT_NOTA_ITEM), preciso pegar todas as vendas do ano e até o mês selecionado isso vai me dar o valor acumulado e para o valor Mensal SUM(TT_NOTA_ITEM), que esta calculando corretamente, meu problema esta no valor acumulado.

                          Se puder me ajudar mais uma vez agradeço.Abs

                            • COmo utilizar Sum(if
                              Cesar Accardi

                              Bom dia, a expansão de dólar vai funcionar com variáveis ou expressões. No seu caso, MES é um campo certo? Se for não vai funcionar desta forma. No lugar de usar o conjunto de todos os valores possíveis (1) e filtrar o ano, você pode usar o conjunto selecionado ($) e a função Max no filtro para retornar o maior valor possível do mês. Ficaria assim:

                               

                              SUM({$<MES={'<=$(=Max(MES))'}>} TT_NOTA_ITEM)


                              Abs