7 Replies Latest reply on Aug 24, 2018 7:21 AM by Benedito Neto

    Erro gráfico de linha com parâmetro

    Benedito Neto

      Pessoal, estou com um problema em um gráfico simples de linha, onde o valor exibido é o preço ponderado de venda de um material por mês. O problema ocorre quando tento simular o valor do material. Criei um parâmetro e no cálculo do preço utilizo a fórmula:

       

      SUM([QUANTIDADE] * IIF([Preço Simulado]>0, [Preço Simulado], [PRECO])) / SUM([QUANTIDADE])

       

      Onde [Preço Simulado] é o parâmetro.

       

      Os valores gerados estão corretos, porém o Tableau desenha o gráfico de forma errada.

       

      Segue tabela com os valores e o gráfico gerado.

       

      Vejam que os valores ficam todos 2.000,00, devido o preenchimento do parâmetro.

      imagem1.png

       

      Já o gráfico que deveria ser uma linha reta, fica desse jeito:

      imagem2.png

       

      O estranho é que os rótulos do gráfico ficam corretos (2.000,00) porem o desenho fica totalmente errado.

       

      Em anexo segue o twbx do cenário.

       

      Obrigado!

        • 1. Re: Erro gráfico de linha com parâmetro
          swaroop.gantela

          Benedito,

           

          Desculpas para o meu google traduzir portugues.
          Eu posso não ter entendido, mas tenho a sensação de que a equação para ponderar
          pode precisar ser diferente:

           

          SUM([QUANTIDADE]) * MAX(IIF([Preço Simulado]>0, [Preço Simulado], [PRECO]))/WINDOW_SUM(SUM([QUANTIDADE]))

           

          A soma da janela dará o total em todo o conjunto.
          Ou, se você quiser, do outro lado do período, você pode defini-lo dessa maneira também.

           

          Por favor, veja a pasta de trabalho anexada no Tópico do Fórum.

           

          279343weight.png

          • 2. Re: Erro gráfico de linha com parâmetro
            Santiago Sanchez

            Ola Benedito,

             

            Eu acredito que você está correndo em uma divisão por 0 questão. Você pode mudar a fórmula como mostrado na imagem abaixo e funcionaria:

             

            Espero que isto ajude!

            Santiago

            • 3. Re: Erro gráfico de linha com parâmetro
              Benedito Neto

              Obrigado pela resposta, mas a média ponderada deve ser realizada com a fórmula:

               

                   SUM(preco x quantidade) / SUM(quantidade)

               

              Caso contrário o valor não fica correto.

              Perceba que os valores ficam corretos, em visualização de tabela, o problema é apenas na montagem do gráfico.

               

              imagem1.png

              • 4. Re: Erro gráfico de linha com parâmetro
                Benedito Neto

                Ola Santiago, dessa forma o valor também não ficaria correto, pois iria mudar o valor da soma da quantidade.

                 

                Para evitar a divisão por zero, acho que o mais correto seria:

                 

                IIF(SUM([QUANTIDADE]) = 0, 0, SUM([QUANTIDADE] * IIF([Preço Simulado]>0, [Preço Simulado], [PRECO]))/SUM([QUANTIDADE]))

                 

                só que mesmo assim continuo com o erro na montagem do gráfico.

                 

                Obrigado!

                • 5. Re: Erro gráfico de linha com parâmetro
                  Santiago Sanchez

                  A divisão por zero está no nível da linha, portanto, a condição deve verificar no nível da linha e não na agregação.

                   

                  Como solução alternativa, isso pode funcionar, fazendo com que a possível alteração na quantidade seja muito pequena:

                  Eu também sugiro abrir um ticket de suporte, porque o comportamento é estranho: https://www.tableau.com/support/case

                  • 6. Re: Erro gráfico de linha com parâmetro
                    Benedito Neto

                    Obrigado Santigo, já abri o ticket. Realmente o comportamento é estranho.

                    • 7. Re: Erro gráfico de linha com parâmetro
                      Benedito Neto

                      Senhores, realmente é um problema do Tableau, abri um chamado e segue a resposta:

                       

                      A renderização inconsistente devido à inexatidão de ponto flutuante é um problema conhecido que será resolvido em uma versão futura do Tableau Desktop. Esse problema será identificado pelos IDs do problema 796585 e 810990 em nossas notas de versão do produto.

                       

                      O problema ocorre até mesmo em cálculos mais simples, como SUM ([Preço Simulado] * [QUANTIDADE]) / SUM ([QUANTIDADE])

                       

                      Na pasta fornecida, o problema ocorre quando o parâmetro é usado para multiplicar ou dividir dentro de uma agregação nessa versão do Tableau, porém, o problema não ocorre nas versões do produto anteriores a 2018.1.

                       

                      A função ROUND pode ser usada como uma possível solução alternativa. Por exemplo, em vez de usar SUM ([Preço Simulado] * [QUANTIDADE]) / SUM ([QUANTIDADE]) pode usar ROUND (SUM ([Preço Simulado] * [QUANTIDADE]) / SUM ([QUANTIDADE]), 2)

                       

                      Obrigado a todos pela ajuda.

                      1 of 1 people found this helpful