Função ROUND

Arredonda o valor de entrada para o inteiro mais próximo. A entrada pode ser um inteiro, um decimal, uma referência de coluna ou uma expressão. O segundo argumento opcional pode ser usado para especificar o número de dígitos para se arredondar.
  • Ao arredondar para o inteiro mais próximo, os valores decimais que são X.5 ou mais são arredondados para X+1.

OBSERVAÇÃO: esta função altera os dados reais do valor. Se você apenas quiser alterar como os dados são formatados para exibição, use a função NUMFORMAT. Consulte Função NUMFORMAT.

Uso básico

Exemplo de literal numérico:

derive type:single value: ROUND(2.5)

Saída: gera uma coluna com o valor 3 de cada linha.

Exemplo de expressão:

derive type:single value: ROUND(MyValue + 2.5)

Saída: gera uma coluna que contém o inteiro mais próximo para a soma de 2,5 e o valor da coluna MyValue.

Exemplo de literal numérico:

derive type:single value:ROUND(PI(),4)

Saída: gera uma coluna que contém o pi arredondado para quatro casas decimais: 3.1416.

Sintaxe

derive type:single value: ROUND(numeric_value, integer_value)

ArgumentoObrigatório?Tipo de dadosDescrição
numeric_valueSstring, decimal ou inteiroNome da coluna ou literal decimal ou inteiro a aplicar na função
integer_valueNnúmero inteiro

Número de dígitos para os quais arredondar.

  • O padrão é 0, que é arredondado para o inteiro mais próximo.
  • Valores inteiros negativos podem ser aplicados.

Para mais informações sobre os padrões de sintaxe, consulte Notas de sintaxe da documentação da linguagem.

numeric_value

Nome da coluna, literal numérico ou expressão numérica.

  • Valores de entrada ausentes geram resultados ausentes.
  • Os valores numéricos literais não devem ser colocados entre aspas. Os valores entre aspas são tratados como strings.
  • Não há compatibilidade com várias colunas e caracteres curinga.

Observações sobre o uso:

Obrigatório?Tipo de dadosValor de exemplo
SimString (referência de coluna) ou literal inteiro ou decimal2.5

integer_value

Número de dígitos para arredondar o primeiro argumento da função.

  • Valores positivos são truncados à direita do ponto decimal.
  • Valores negativos truncam à esquerda do ponto decimal.
  • Valores de entrada ausentes geram resultados ausentes.

Observações sobre o uso

Obrigatório? Tipo de dados Valor de exemplo
NãoLiteral inteiro3

Exemplos

Exemplo: funções exponenciais

No exemplo a seguir demonstramos como as funções de arredondamento funcionam juntas. Essas funções incluem os seguintes itens:

  • FLOOR: o maior número inteiro que não seja maior que o valor de entrada. Consulte Função FLOOR.
  • CEILING: o menor número inteiro que não seja inferior ao valor de entrada. Consulte Função CEILING.
  • ROUND: o número inteiro mais próximo do valor de entrada. Consulte Função ROUND.
  • MOD: o número inteiro restante quando input1 for dividido por input2. Consulte Operadores numéricos.

Fonte:

rowNumX
1-2,5
2-1,2
30
41
51,5
62,5
73,9
84
94,1
1011

Transformação:

derive type: single value: FLOOR (X) as: 'floorX'

derive type: single value: CEILING (X) as: 'ceilingX'

derive type: single value: ROUND (X) as: 'roundX'

derive type: single value: (X % 2) as: 'modX'


Resultados:

rowNumXmodXroundXceilingXfloorX
1-2,5 -2-2-3
2-1,2 -1-1-2
300000
411111
51,5 221
62,5 332
73,9 443
840444
94,1 454
10111111111

Exemplo - Funções RANDBETWEEN, PI e ROUND

Este exemplo ilustra como você pode aplicar as funções a seguir para gerar dados novos e aleatórios no conjunto de dados:

  • RANDBETWEEN: gera um valor inteiro aleatório entre dois números inteiros especificados. Consulte Função RANDBETWEEN.
  • PI: gera o valor de pi com 15 casas decimais. Consulte Função PI.
  • ROUND: arredonda um valor decimal para o número inteiro mais próximo ou para um número especificado de dígitos. Consulte Função ROUND.
  • TRUNC: arredonda um valor até o inteiro mais próximo. Consulte Função TRUNC.

Origem:

No exemplo a seguir, uma empresa produz 10 peças circulares. O raio de cada uma delas é medido em polegadas.

prodIdradius_in
p0011
p0022
p0033
p0044
p0055
p0066
p0077
p0088
p0099
p01010

Com base nos dados acima, a empresa quer gerar algumas informações de tamanho adicionais para essas peças circulares, incluindo a geração de dois pontos ao longo da circunferência de cada peça, onde testes de qualidade podem ser aplicados.

Transformação:

Para começar, use as etapas a seguir para gerar a área e a circunferência de cada produto, arredondadas para três casas decimais:

derive type:single value: ROUND(PI() * (POW(radius_in, 2)), 3) as: 'area_sqin'

derive type:single value: ROUND(PI() * (2 * radius_in), 3) as: 'circumference_in'

Para fins de qualidade, a empresa precisa de dois pontos de teste (gerados pelo cálculo de dois locais aleatórios separados) ao longo da circunferência. Como a função RANDBETWEEN calcula apenas usando valores inteiros, primeiro você precisa truncar os valores de circumference_in:

derive type:single value: TRUNC(circumference_in) as: 'trunc_circumference_in'

Então, calcule os pontos aleatórios usando:

derive type:single value: RANDBETWEEN(0, trunc_circumference_in) as: 'testPt01_in'

derive type:single value: RANDBETWEEN(0, trunc_circumference_in) as: 'testPt02_in'

Resultados:

Depois que a coluna trunc_circumference_in for eliminada, os dados serão semelhantes a estes:

prodIdradius_inarea_sq_incircumference_intestPt01_intestPt02_in
p00113,1426,28355
p002212,56612,56633
p003328,27418,8501313
p004450,26525,1332424
p005578,54031,41600
p0066113,09737,6991515
p0077153,93843,9821111
p0088201,06250,26511
p0099254,46956,5492929
p01010314,15962,8322121

Esta página foi útil? Conte sua opinião sobre:

Enviar comentários sobre…

Documentação do Google Cloud Dataprep
Precisa de ajuda? Acesse nossa página de suporte.