Loading

O ajuste do formato de número parece arredondar os valores incorretamente

Data da publicação: Sep 24, 2025
Descrição
Ao ajustar o número de casas decimais exibidas para um número, os números podem parecer arredondados para cima ou para baixo incorretamente. Por exemplo, um número exibido como 40,5 pode ser alterado para 40 quando a formatação for alterada para a exibição de zero casas decimais.

Além disso, ao usar ROUND() em uma função STR(), o arredondamento pode ficar incorreto ao ser conectado a uma extração. Por exemplo: STR(ROUND(SUM[Sales]),2)

Causa

O Tableau Desktop (Tableau Prep) arredonda os números com base no valor original no banco de dados, seguindo a convenção "arredondar para cima por meia casa decimal". 
Resolução

Opção 1

O arredondamento pode ser realizado no Tableau Desktop com a função ROUND(). No entanto, a agregação deve ser considerada ao escrever o cálculo, pois o Tableau pode interpretar o cálculo relativo às agregações aplicadas. Por exemplo, se o campo necessário para o arredondamento for SUM([Field]) e o cálculo usado for ROUND([Field]), o Tableau interpretará o referido cálculo como   SUM(Round([Field])

Para corrigir esse comportamento, reescreva o exemplo de cálculo acima da seguinte forma: ROUND(SUM(Field))

Para ver um exemplo concreto, consulte a pasta de trabalho em anexo com o nome Round String.twbx.

Opção 2

Use modificadores de cadeia de caracteres adicionais, como LEFT(), bem como função adicional de arredondamento, como CEILING(), para criar uma representação mais precisa.

  • Observe que tais modificações podem criar um campo longo: STR(ROUND(SUM[Sales]),2) = 319.147230000001
  • Usando as modificações acima: LEFT(STR((CEILING(SUM([Sales])*100))/100),6) = 319.15

Opção 3

Exiba os dados subjacentes para verificar o número original, a fim de garantir que ele seja arredondado corretamente para o formato de número. Por exemplo, um valor original de 40,48 seria corretamente arredondado para 40,5 se uma casa decimal fosse especificada e 40 se zero casas decimais fossem especificadas.

Recursos adicionais

Como este comportamento não é específico para o Tableau Desktop, é mais importante para como os computadores armazenam os dados, especificamente, o que é considerado valores "decimais". Os inteiros são fáceis, basta adicionar ou subtrair um número inteiro, o que também pode ser feito com os dados binários: 

  • Em decimal: 4 + 1 = 5 
  • Em binário: 100 + 1 = 101 

No entanto, uma representação simples em decimal pode não ser traduzida perfeitamente em binário com valores decimais, traduzindo esses valores distintos para uma representação binária.

Por exemplo, .1 é simples em decimal, mas o número que representa esse valor em binário pode representar simultaneamente .0999999999999999 e .1000000000000001 e todos os números entre eles. (Observe que há exatamente 16 casas decimais em cada número.) Isso pode ser tratado ao exibir os valores de número na camada de exibição, mas o cálculo dos valores ou a conversão em cadeias de caracteres exibirá os valores subjacentes; esse comportamento varia conforme diversos fatores, incluindo a base de dados. 

Confira a seguir alguns exemplos/artigos que demonstram como esse problema se manifesta em todos os idiomas e é fundamental na ciência da computação. 


Para discussão sobre este tópico e possíveis alternativas no Tableau Desktop, consulte o seguinte tópico nos Fóruns da Comunidade: Arredondar e converter para uma cadeia de caracteres

Para obter mais informações sobre a função ROUND(), consulte a seguinte documentação da Ajuda do Tableau: Funções de número.

 

Número do artigo do Knowledge

001473206

 
Carregando
Salesforce Help | Article