##### Page tree

Contents:

Numeric operators enable you to generate new values based on a computation (e.g. `3 + 4`).

For each expression, the numeric operator is applied from left to right:

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

These evaluations result in a numeric output, which can be an Integer or Decimal depending on the input values. The following operators are supported:

Operator NameSymbolExample ExpressionOutputNotes
add`+`

`3 + 6`

`9`
subtract`-`

`6 - 5`

1
multiply*

`3 * 6`

`18`
divide/

`25 / 5`

`5`
modulo%`5 % 4``1`Computes the remainder as an integer of the first parameter divided by the second parameter. Input parameters must be Integers, column references to Integers, or an expression that evaluates to an Integer.
power`pow``pow(4,3)``64`Power is implemented as a function. see POW Function.
negate`-``-myColumn`opposite of the value in `myColumn`This operator supports only one operand. Parenthetical references are supported. See the example below.

The above examples apply to integer values only. Below, you can review how the comparison operators apply to different data types.

## Usage

Numeric operators are used to perform numeric manipulations on columns of data, Integer or Decimal constants, or both. Typically, they are applied in evaluations of values or rows.

Example data:

XY
21
64
710
100

Transforms:

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'

Results:

Your output looks like the following. Below, `(null value)` indicates that a null value is generated for the computation.

21312202-1
64102241.521296-3
71017-3700.772824752493
10020100(null value)(null value)1-10

## Examples

NOTE: When a numeric operator is applied to a set of values, the type of data of each source value is re-inferred to match any literal values used on the other side of the expression. This method allows for more powerful comparisons.

In the following examples, values taken from the `MySource` column are re-typed to match the inferred data type of the other side of the expression.

Column TypeExample TransformOutputNotes
Integer/Decimal

derive type:single value:(MySource + 5)

keep row:(MySource + 2.5)

Generated values are sum of values in `MySource` column and the constant (5 or 2.5).

DatetimeYou cannot directly add Datetime values. You can use the `DATEDIF` function to generate the number of days difference between two date values. See DATEDIF Function.
String

• You can use the `MERGE` transform to concatenate columns of string values together. See Merge Transform.
• You can use the `ARRAYCONCAT` function to concatenate multiple columns of array type together. See ARRAYCONCAT Function.

For computational purposes, all data types not previously listed in this table behave like strings.

### subtact

Column TypeExample TransformOutputNotes
Integer/Decimal

derive type:single value:(MySource - 5)

derive type:single value:(MySource - 2.5)

Generated values are difference between values in   `MySource`   column and the constant (5 or 2.5).
DatetimeYou cannot directly subtract Datetime values. You must use the `DATEDIF` function to generate the number of days difference between two date values. See DATEDIF Function.
String

You cannot differentiate strings directly.

• You can use the `SUBSTRING` function to locate one string within the other. If found, this function returns the index of the value in the source string where the substring is located. This index value can used as an input to the `LEFT` and `RIGHT` functions to remove the substring. See SUBSTRING Function.
For computational purposes, all data types not previously listed in this table behave like strings.

### multiply

Column TypeExample TransformOutputNotes
Integer/Decimal

derive type:single value:(MySource * 5)

derive type:single value:(MySource * 2.5)

Generated values are the product of values in the `MySource` column and the constant (5 or 2.5).
DatetimeN/A
String

N/A

### divide

Column TypeExample TransformOutputNotes
Integer/Decimal

derive type:single value:(MySource / 5)

derive type:single value:(MySource / 2.5)

Generated values are the values in the `MySource` column divided by the constant (5 or 2.5).

DatetimeN/A
String

N/A

### modulo

Column TypeExample TransformOutputNotes
Integer

derive type:single value:(MySource % 5)

Generated values are the values in the `MySource` column divided by the constant (5 or 2.5).

Decimal

derive type:single value:(MySource % 2.5)

Not supported. Inputs must be of Integer type.
DatetimeN/A
String

N/A

• Page:
• Page:
• Page:
• Page:
• Page:
• Page:
• Page:
• Page:
• Page:
• Page: