Operadores numéricos

Os operadores numéricos permitem a geração de novos valores com base em um cálculo (por exemplo, 3 + 4).

Para cada expressão, o operador numérico é aplicado da esquerda para a direita:

(left-hand side) (operator) (right-hand side)

Essas avaliações resultam em uma saída numérica, que pode ser um número inteiro ou decimal, dependendo dos valores de entrada. Os seguintes operadores são aceitos:

Nome do operadorSímboloExpressão de exemploResultadoObservações
add+

3 + 6

9
subtract-

6 - 5

1
multiply*

3 * 6

18
divide/

25 / 5

5
modulo%5 % 41Calcula o restante como um número inteiro do primeiro parâmetro dividido pelo segundo. Os parâmetros de entrada precisam ser números inteiros, referências de coluna a números inteiros ou uma expressão avaliada como número inteiro.
powerpowpow(4,3)64Potência é implementada como uma função. Consulte Função POW.
negate--myColumnoposto do valor em myColumnEste operador aceita apenas um operando. As referências parentéticas são aceitas. Veja o exemplo abaixo.

Os exemplos acima são válidos apenas a valores inteiros. Revise a seguir como os operadores de comparação são aplicados a diferentes tipos de dados.

Uso

Os operadores numéricos são usados ​​para executar manipulações numéricas em colunas de dados, constantes inteiras ou decimais ou ambas. Normalmente, eles são aplicados a avaliações de valores ou linhas.

Dados de exemplo:

XY
21
64
710
100

Transformações:

derive type:single value:(X + Y) as: 'add'

derive type:single value:(X - Y) as: 'subtract'

derive type:single value:(X * Y) as: 'multiply'

derive type:single value:(X / Y) as: 'divide'

derive type:single value:(X % Y) as: 'modulo'

derive type:single value: pow(X,Y) as: 'power'

derive type:single value: -(X-Y) as: 'negativeXminusY'

Resultados:

O resultado tem a seguinte aparência. (null value) abaixo indica que um valor nulo é gerado para o cálculo.

XYaddsubtractmultiplydividemodulopowernegativeXminusY
21312202-1
64102241,521296-3
71017-3700,772824752493
10020100(null value)(null value)1-10

Exemplos

OBSERVAÇÃO: quando um operador numérico é aplicado a um conjunto de valores, o tipo de dados de cada valor de origem é novamente inferido para corresponder a qualquer valor literal usado no outro lado da expressão. Esse método permite comparações mais precisas.

Nos exemplos a seguir, os valores extraídos da coluna MySource são reclassificados para corresponder ao tipo de dados inferido do outro lado da expressão.

add

Tipo de colunaExemplo de transformaçãoResultadoObservações
Inteiro/decimal

derive type:single value:(MySource + 5)

keep row:(MySource + 2.5)

Os valores gerados são a soma dos valores na coluna MySource e da constante (5 ou 2,5).

DatetimeNão é possível adicionar valores Datetime diretamente. Você pode usar a função DATEDIF para gerar a diferença de número de dias entre dois valores de data. Consulte Função DATEDIF.
String

Não é possível adicionar strings.

  • Você pode usar a transformação MERGE para concatenar colunas de valores de string. Consulte Transformação Merge.
  • Você pode usar a função ARRAYCONCAT para concatenar várias colunas de tipo de matriz. Consulte Função ARRAYCONCAT.

Para fins de cálculo, todos os tipos de dados que não foram listados nesta tabela se comportam como strings.

subtract

Tipo de colunaExemplo de transformaçãoResultadoObservações
Inteiro/decimal

derive type:single value:(MySource - 5)

derive type:single value:(MySource - 2.5)

Os valores gerados são a diferença entre os valores na coluna MySource e a constante (5 ou 2,5).
DatetimeNão é possível subtrair valores Datetime diretamente. Você precisa usar a função DATEDIF para gerar a diferença de número de dias entre dois valores de data. Consulte Função DATEDIF.
String

Não é possível diferenciar strings diretamente.

  • Você pode usar a função SUBSTRING para localizar uma string dentro de outra. Se encontrada, esta função retornará o índice do valor na string de origem onde a substring está localizada. Esse valor de índice pode ser usado como uma entrada para as funções LEFT e RIGHT a fim de remover a substring. Consulte Função SUBSTRING.
Para fins de cálculo, todos os tipos de dados que não foram listados nesta tabela se comportam como strings.

multiply

Tipo de colunaExemplo de transformaçãoResultadoObservações
Inteiro/decimal

derive type:single value:(MySource * 5)

derive type:single value:(MySource * 2.5)

Os valores gerados são o produto dos valores da coluna MySource e da constante (5 ou 2,5).
Data/horaN/D
String

N/D

divide

Tipo de colunaExemplo de transformaçãoResultadoObservações
Inteiro/decimal

derive type:single value:(MySource / 5)

derive type:single value:(MySource / 2.5)

Data/horaN/D
String

N/D


modulo

Tipo de colunaExemplo de transformaçãoResultadoObservações
Inteiro

derive type:single value:(MySource % 5)

Decimal

derive type:single value:(MySource % 2.5)

Incompatível. As entradas precisam ser do tipo Número inteiro.
DatetimeN/D
String

N/D

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.