Page tree

Contents:

NOTE:  Designer Cloud Educational is a free product with limitations on its features. Some features in the documentation do not apply to this product edition. See Product Limitations.

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`.