# Logical Operators

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 Name

Symbol

Example Expression

Output

Notes

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:

X

Y

true

true

true

false

false

true

false

false

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:

X

Y

col_and

col_or

col_not_and

col_not_or

true

true

true

true

false

false

true

false

false

true

true

false

false

true

false

true

true

false

false

false

false

false

true

true

## Examples

Tip

### and

Column Type

Example Transform

Output

Notes

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 Type

Example Transform

Output

Notes

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 Type

Example Transform

Output

Notes

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.