ISODD Function

Returns true if the argument is an odd value. Argument can be an Integer, a function returning Integers, or a column reference.

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

Basic Usage

Integer literal value:

derive type:single value: ISODD('3') as: 'isThreeOdd'

Output: Generates the isThreeOdd column containing the value true for each row.

Column reference value:

derive type:single value: (ISODD(countStudents)) as:'missingStudent'

Output: If the value in the countStudents column is an odd number, then write true in the missingStudent column.

Syntax

derive type:single value:ISODD(int_value)

ArgumentRequired?Data TypeDescription
int_valueYintegerThis value can be an Integer, a function returning an Integer, or a column reference.

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

int_value

Name of the columns, expressions, or literals to compare.

  • Missing values generate missing string results.

Usage Notes:

Required?Data TypeExample Value
YesColumn reference, function, or Integer literal valuemyColumn

Examples

Example - Basic Equal and Notequal Functions

This example demonstrate the following comparison functions.

In this example, the dataset contains current measurements of the sides of rectangular areas next to the size of those areas as previously reported. Using these functions, you can perform some light analysis of the data.

Source:

sideAsideBreportedArea
41456
6635
8432
1515200
4728
12670
9981

Transform:

In the first test, you are determining if the four-sided area is a square, based on a comparison of the measured values for sideA and sideB:

derive type:single value:EQUAL(sideA, sideB) as:'isSquare'

Next, you can use the reported sides to calculate the area of the shape and compare it to the area previously reported:

derive type:single value:NOTEQUAL(sideA * sideB, reportedArea) as:'isValidData'

You can also compute if the reportedArea can be divided into even square units:

derive type:single value:ISEVEN(reportedArea) as:'isReportedAreaEven'

You can test if either measured side is an odd number of units:

derive type:single value:IF((ISODD(sideA) == true) OR (ISODD(sideB) == true),TRUE,FALSE) as:'isSideOdd'


Results:

sideAsideBreportedAreaisSquareisValidDataisReportedAreaEvenisSideOdd
41456FALSEFALSETRUEFALSE
6635TRUETRUETRUEFALSE
8432FALSEFALSETRUEFALSE
1515200TRUETRUETRUETRUE
4728FALSEFALSETRUETRUE
12670FALSETRUETRUEFALSE
9981TRUEFALSEFALSEFALSE

Was this page helpful? Let us know how we did:

Send feedback about...

Google Cloud Dataprep Documentation