AND Function

Returns true if both arguments evaluate to true. Equivalent to the && operator.

  • Each argument can be a literal Boolean, a function returning a Boolean, or a reference to a column containing Boolean values.

Since the AND function returns a Boolean value, it can be used as a function or a conditional.

NOTE: Within an expression, you might choose to use the corresponding operator, instead of this function. For more information, see Logical Operators.

Basic Usage

derive value: AND(finalScoreEnglish >= 60, finalScoreMath >=60) as:'promoteStudent'

Output: If the values in the finalScoreEnglish and finalScoreMath columns are greater than or equal to 60, then the value in the new promoteStudent column is true. Otherwise, the value is false.


derive value:AND(value1, value2)

ArgumentRequired?Data TypeDescription
value1YstringThe first value must be a Boolean literal, column reference, or expression that evaluates to true or false.
value2YstringThe first value must be a Boolean literal, column reference, or expression that evaluates to true or false.

For more information on syntax standards, see Language Documentation Syntax Notes.

value1, value2

Expressions, column references or literals to compare as Boolean values.

  • Missing or mismatched values generate missing results.

Usage Notes:

Required?Data TypeExample Value
YesFunction or column reference returning a Boolean value or Boolean literalmyHeight > 2.00


Example - Logical Functions

This example demonstrate the AND, OR, and NOT logical functions.

In this example, the dataset contains results from survey data on two questions about customers. The yes/no answers to each question determine if the customer is 1) still active, and 2) interested in a new offering.




Customers that are both active and interested should receive a phone call:

derive value:AND(isActive, isInterested) as:'phoneCall'

Customers that are either active or interested should receive an email:

derive value:OR(isActive, isInterested) as:'sendEmail'

Customers that are neither active or interested should be dropped from consideration for the offering:

derive value:AND(NOT(isActive),NOT(isInterested) as:'dropCust'

A savvy marketer might decide that if a customer receives a phone call, that customer should not be bothered with an email, as well:

set col:sendEmail value:IF(phoneCall == "TRUE", FALSE, sendEmail)



Send feedback about...

Google Cloud Dataprep Documentation