4 Replies Latest reply: Jan 24, 2012 7:40 AM by Juliana Holstein RSS

    tratar divisão por 0

      Olá pessoal, boa tarde!
      Sei que deve ser simples, mas não estou conseguindo fazer.
      Fiz uma fórmula para calcular o % de crescimento de um ano para o outro.
      Por exemplo 2011 versus 2010.

       

      A fórmula que fiz é a seguinte:

       

      Sum({$<ANO={$(=Only(ANO))}>}  QT_PRODUTO*PESO_LIQUIDO)

      /

      Sum({$<ANO={$(=Only(ANO)-1)}>} QT_PRODUTO*PESO_LIQUIDO)-1 .

       

      Porém, se no ano anterior eu nao tive venda(peso) (valor 0), ele não está calculando o % de crescimento, que no caso deveria ser 100%.
      Como posso tratar esta questão?

       

      Obrigada,

      Juliana.

       

       

       

        • tratar divisão por 0
          Aderlan Rodrigues

          Olá Juliana,

           

          Tenta isso:

          Sum({$<ANO={$(=Only(ANO))}>}  QT_PRODUTO*IF(PESO_LIQUIDO=0,1,PESO_LIQUIDO))

          /

          Sum({$<ANO={$(=Only(ANO)-1)}>} QT_PRODUTO*IF(PESO_LIQUIDO=0,1,PESO_LIQUIDO))-1

           

          Abraço.

            • tratar divisão por 0

              Olá  Aderlan, bom dia!
              Fiz parecido com o que você me passou, dá uma olhada:

               

              if (  Sum({$<ANO={$(=Only(ANO)-1)}>}  FEXP_QT_PRODUTO*PESO_LIQUIDO)

                    =0,

                      1,

                      (Sum({$<ANO={$(=Only(ANO))}>}  FEXP_QT_PRODUTO*PESO_LIQUIDO)

                       / 

                      Sum({$<ANO={$(=Only(ANO)-1)}>}  FEXP_QT_PRODUTO*PESO_LIQUIDO) -1)

                  )  

               

              Aparentemente funcionou certinho. Estou com outro probleminha agora e este tá complicado para resolver.

               

              Estou  fazendo um comparativo de crescimento de preço médio praticado ( valor / peso) , porém tem clientes por exemplo, que não tiveram compra no ano atual ou anterior, então meu preço médio fica nulo para este cliente no ano.
              O que você me sugere fazer para carregar um valor 0 nestes casos? Tentei com o IF, mas continua aparecendo NULO no campo.

              Será que consigo  tratar isto na carga dos dados?

               


              Veja o print.

               

              preco_medio.jpg

               

              Desde já agradeço,
              Abraço,
              Juliana.