## Key

• This line was added.
• This line was removed.
• Formatting was changed.
Comment: Published by Scroll Versions from space DEV and version r081

D toc

Excerpt

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

Code Block
`(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:

D trans
RawWrangle true 'col_and' step derive type:single value:(X && Y) as: 'col_and' Formula type Single row formula Formula (X && Y) New column name New formula

D trans
RawWrangle true 'col_or' step derive type:single value:(X || Y) as: 'col_or' Formula type Single row formula Formula (X || Y) New column name New formula

D trans
RawWrangle true 'col_not_and' step derive type:single value:!(or) as: 'col_not_and' Formula type Single row formula Formula !(or) New column name New formula

D trans
RawWrangle true 'col_not_or' step derive type:single value:!(or) as: 'col_not_or' Formula type Single row formula Formula !(or) New column name New formula

Results:

Your output looks like the following:

XYcol_andcol_orcol_not_andcol_not_or
truetruetruetruefalsefalse
truefalsefalsetruetruefalse
falsetruefalsetruetruefalse
falsefalsefalsefalsetruetrue

D s
snippet Examples

### and

Column TypeExample TransformOutputNotes
Integer/Decimal

D trans
RawWrangle true step set col:InRange value:((Input >= 10) && (Input <= 90)) Columns InRange Formula ((Input >= 10) && (Input <= 90)) Edit column with formula

• 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

D trans
RawWrangle true ((Date >= DATE(2014, 01, 01)) && (Date <= DATE(2014, 12, 31)) step delete row: ((Date >= DATE(2014, 01, 01)) && (Date <= DATE(2014, 12, 31)) Condition Custom formula Type of formula Custom single Condition Delete matching rows Action Filter rows

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

D trans
RawWrangle true step derive type:single value:((LEFT(USStates,1) == "A") && (RIGHT(USStates,1) == "A")) Formula type Single row formula Formula ((LEFT(USStates,1) == "A") && (RIGHT(USStates,1) == "A")) New formula

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

D trans
RawWrangle true step set col:BigOrder value:((Total > 1000000) || (Qty > 1000)) Columns BigOrder Formula ((Total > 1000000) || (Qty > 1000)) Edit column with formula

• 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

D trans
RawWrangle true ((Date <= DATE(1950, 01, 01)) || (Date >= DATE(2050, 12, 31)) step delete row: ((Date <= DATE(1950, 01, 01)) || (Date >= DATE(2050, 12, 31)) Condition Custom formula Type of formula Custom single Condition Delete matching rows Action Filter rows

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

D trans
RawWrangle true 'good_car' step derive type:single value:((Brand == 'subaru') || ('Color' == 'green')) as:'good_car' Formula type Single row formula Formula ((Brand == 'subaru') || ('Color' == 'green')) New column name New formula

• 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

D trans
RawWrangle true !((sqft < 1300) && (bath < 2) && (bed < 2.5)) step keep row:!((sqft < 1300) && (bath < 2) && (bed < 2.5)) Condition Custom formula Type of formula Custom single Condition Keep matching rows Action Filter 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

D trans
RawWrangle true !(YEAR(Date) == '2016') step keep row:!(YEAR(Date) == '2016') Condition Custom formula Type of formula Custom single Condition Keep matching rows Action Filter rows

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

D trans
RawWrangle true !(status == 'Keep_It') step delete row:!(status == 'Keep_It') Condition Custom formula Type of formula Custom single Condition Delete matching rows Action Filter rows

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

Noprint

See Also

Content by Label
showLabels false false title label = "logical" and space = currentSpace()