Skip to main content

Logical Functions

Logical functions return value based on some logical conditions.

case when

case(when: condition_expression, then: value_expression, else: value_expression)            

Description

The CASE statement goes through conditions and returns a value when the first condition is met (like an IF-THEN-ELSE statement).

Return type

Vary

Example

Given a Holistics expression as below:

case(
when: users.gender == 'm', then: 'male',
when: users.gender == 'f', then: 'female',
else: 'others'
)

The SQL output would be:

Case 
When users.gender = 'm' then 'male'
When users.gender = 'f' then 'female'
Else 'others'
End

And the result would be:

gendercase
mmale
ffemale
mmale

and()

and(condition_expression, ...)          

Description

Logical AND compares between two Booleans as expression and returns true when both expressions are true.

Return type

Boolean

Example

Given a Holistics expression as below:

and(
products.id >= 2,
products.id <= 8
)

The SQL output would be:

(
(products.id >= 2.0) AND (products.id <= 8.0)
)

And the result would be:

idand
1false
2true
8true
9false

or()

or(condition_expression, ...)       

Description

Logical OR compares two Booleans as expression and returns true when one of the expressions is true.

Return type

Boolean

Example

Given a Holistics expression as below:

or(condition_expression, ...)

The SQL output would be:

or(
products.id <= 2,
products.id >= 8
)

And the result would be:

idor
1true
4false
7false
9true

not()

not(field_expression)       

Description

Logical NOT takes a single Boolean as an argument and invert it.

Return type

Boolean

Example

Given a Holistics expression as below:

not(is(products.id, null))

The SQL output would be:

NOT (products.id IS NULL)

And the result would be:

idnot
1true
false
3true
4true

is()

is(field_expression)        

Description

Logical IS evaluates the given statement and return either true or false.

Return type

Boolean

Example

Given a Holistics expression as below:

is(products.id, null))

The SQL output would be:

(products.id IS NULL)

And the result would be:

idnot
1false
true
3false
4false

in()

in(field_expression, value_expression, value...)    

Description

in operator takes a field expression and a list of values. Return true if that list of values contains the value of that field expression.

Return type

Boolean

Example

Given a Holistics expression as below:

in(users.name, 'bob', 'alice', 'jack)

The SQL output would be:

user.name in ('bob', 'alice', 'jack)

And the result would be:

namein
bobtrue
alicetrue
peterfalse

Let us know what you think about this document :)