Comparison Operators
Comparison operators enable you to compare values in the left-hand side of an expression to the values in the right-hand side of an expression.
(left-hand side) (operator) (right-hand side)
These evaluations result in a Boolean true
or false
result and can be used as the basis for determining whether the transformation is executed on the row or column of data. The following operators are supported:
Operator Name | Symbol | Example Expression | Output | Notes |
---|---|---|---|---|
less than | < | | true | |
less than or equal to | <= | | false | The following operator generates an error: |
greater than | > | | false | |
greater than or equal to | >= | | true | The following operator generates an error: |
equal to | == | 4 == 4 | true | For this comparison operator, you must use two equals signs, or an error is generated. |
not equal to | != | 4 <> 4 | false | Both operators are supported. The following operator generates an error: |
The above examples apply to integer values only. Below, you can review how the comparison operators apply to different data types.
Usage
Comparison operators are used to determine the condition of a set of data. Typically, they are applied in evaluations of values or rows.
For example, your dataset is the following:
city |
---|
San Francisco |
Los Angeles |
Chicago |
New York |
You could use the following transformation to flag all rows whose city
value equals San Francisco
:
Transformation Name | |
---|---|
Parameter: Formula type | Single row formula |
Parameter: Formula | (city == 'San Francisco') |
Your output looks like the following:
city | column1 |
---|---|
San Francisco | true |
Los Angeles | false |
Chicago | false |
New York | false |
You can optionally combine the above with an IF
function, which enables you to write values for true
or false
outcomes:
Transformation Name | |
---|---|
Parameter: Formula type | Single row formula |
Parameter: Formula | if(city == 'San Francisco', 'Home of the Giants!', 'Some other team') |
Parameter: New column name | 'BaseballTeam' |
Note that the optional as:
clause can be used to rename the generated columns. See Derive Transform.
city | BaseballTeam |
---|---|
San Francisco | Home of the Giants! |
Los Angeles | Some other team |
Chicago | Some other team |
New York | Some other team |
Examples
Dica
For additional examples, see Common Tasks.
Nota
When a comparison 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 comparison.
Less Than (or Equal To)
Column Type | Example Transformation | Output | Notes | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Integer |
|
| |||||||||||
Decimal |
| Retains all rows in the dataset where the value in the | |||||||||||
Datetime |
| Retains all rows whose | You can also use the | ||||||||||
String (and all other data types) |
|
|
|
Greater Than (or Equal To)
See previous section.
Equal to
Column Type | Example Transformation | Output | Notes | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Integer |
|
| If the source column contains Decimal values and the right-hand side is an integer value, the Decimal values that are also integers can match in the comparison (e.g. | ||||||||||
Decimal |
| Retains all rows in the dataset where the value in the | If the source column contains integers and the right-hand side is a Decimal type value, integer values are rounded for comparison. | ||||||||||
Datetime |
| Retains all rows whose | |||||||||||
String (and all other data types) |
| Retains all rows in the dataset where the length of the string value in the |
|
Not Equal to
Column Type | Example Transformation | Output | Notes | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Integer |
|
| If the source column contains Decimal values and the right-hand side is an integer value, the Decimal values that are also integers can match in the comparison (e.g. | ||||||||||
Decimal |
| Retains all rows in the dataset where the value in the | If the source column contains integers and the right-hand side is a Decimal type value, integer values are rounded for comparison. | ||||||||||
Datetime |
| Retains all rows in the dataset where the | |||||||||||
String (and all other data types) |
| Retains all rows in the dataset where the length of the string value in the |
|