##### Page tree

You are viewing an old version of this page. View the current version.

Version 3

Outdated release! Latest docs are Release 8.2: Logical Operators

Contents:

Logical operators (and, or, not) enable you to logically combine multiple expressions to evaluate a larger, more complex expression whose output is `true` or `false`.
`(left-hand side) (operator) (right-hand side)`

These evaluations result in a Boolean output. The following operators are supported:

Operator NameSymbolExample ExpressionOutputNotes
and`&&`

`((1 == 1) && (2 == 2))`

`true`

`((1 == 1) && (2 == 3))`

`false`
or`||`

`((1 == 1) || (2 == 2))`

`true`Exclusive or (xor) is not supported.

`((1 == 2) || (2 == 3))`

`false`
not!

`!(1 == 1)`

`false`

`!(1 == 2)`

`true`

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

## Usage

Logical operators are used to perform evaluations of expressions covering a variety of data types. Typically, they are applied in evaluations of values or rows.

Example data:

XY
truetrue
truefalse
falsetrue
falsefalse

Transforms:

Transformation Name `New formula` `Single row formula` `(X && Y)` `'col_and'`

Transformation Name `New formula` `Single row formula` `(X || Y)` `'col_or'`

Transformation Name `New formula` `Single row formula` `!(or)` `'col_not_and'`

Transformation Name `New formula` `Single row formula` `!(or)` `'col_not_or'`

Results:

Your output looks like the following:

XYcol_andcol_orcol_not_andcol_not_or
truetruetruetruefalsefalse
truefalsefalsetruetruefalse
falsetruefalsetruetruefalse
falsefalsefalsefalsetruetrue

## Examples

Tip: For additional examples, see Common Tasks.

### and

Column TypeExample TransformOutputNotes
Integer/Decimal

Transformation Name `Edit column with formula` `InRange` `((Input >= 10) && (Input <= 90))`

• Set the value of the `InRange` column to `true` if the value of the `Input` column is between 10 and 90, inclusive.
• Otherwise, `InRange` column is `false`.

Datetime

Transformation Name `Filter rows` `Custom formula` `Custom single` `((Date >= DATE(2014, 01, 01)) && (Date <= DATE(2014, 12, 31))` `Delete matching rows`

Delete all rows in which the `Date` value falls somewhere in 2014.
String

Transformation Name `New formula` `Single row formula` `((LEFT(USStates,1) == "A") && (RIGHT(USStates,1) == "A"))`

For U.S. State names, the generated column contains `true` for the following values:

• `Alabama`
• `Alaska`
• `Arizona`

For all other values, the generated value is `false`.

### or

Column TypeExample TransformOutputNotes
Integer/Decimal

Transformation Name `Edit column with formula` `BigOrder` `((Total > 1000000) || (Qty > 1000))`

• In the `BigOrder` column, set the value to `true` if the value of `Total` is more than 1,000,000 or the value of `Qty` is more than 1000.
• Otherwise, the value is `false`.

Datetime

Transformation Name `Filter rows` `Custom formula` `Custom single` `((Date <= DATE(1950, 01, 01)) || (Date >= DATE(2050, 12, 31))` `Delete matching rows`

Delete all rows in the dataset where the `Date` value is earlier than 01/01/1950 or later than 12/31/2050.
String

Transformation Name `New formula` `Single row formula` `((Brand == 'subaru') || ('Color' == 'green'))` `'good_car'`

• Generate the new `good_car` column containing `true` if the `Brand` is `subaru` or the `Color` is `green`.
• Otherwise, the `good_car` value is `false`.

### not

Column TypeExample TransformOutputNotes
Integer/Decimal

Transformation Name `Filter rows` `Custom formula` `Custom single` `!((sqft < 1300) && (bath < 2) && (bed < 2.5))` `Keep matching rows`

Keep all rows for houses that do not meet any of these criteria:

• smaller than 1300 square feet,
• less than 2 bathrooms,
• less than 2.5 bedrooms.

Datetime

Transformation Name `Filter rows` `Custom formula` `Custom single` `!(YEAR(Date) == '2016')` `Keep matching rows`

Keep all rows in the dataset where the year of the `Date` value is not 2016.
String

Transformation Name `Filter rows` `Custom formula` `Custom single` `!(status == 'Keep_It')` `Delete matching rows`

Delete all rows in which the value of the `status` column is not `Keep_It`.

See Also

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

• No labels

This page has no comments.