Logical functions
Overview
Use this category when you need conditions, comparisons, and branching logic in formulas.
These functions help you build boolean-style expressions, typically represented as 1 or 0, and use them to select values, create flags, or diagnose unexpected results.
Start here if…
You are looking up a logical function by name, for example
IF,EQ,GT,AND,TRUE,FALSE, orIS_NA.You want to compare similar logical functions and understand when to use which one.
You need function-specific notes, limits, or troubleshooting.
Not here if…
You want comparison operators and boolean keywords as operators, for example
>,=,AND,OR,NOT→ see Comparisons & boolean operatorsYou want numeric transformations such as
ROUND,ABSorMIN/MAX→ see Math & numeric
Mental model
Logical functions usually return
1or0across the same dimensionality as their inputsConditions are most commonly used inside
IF(...)to select between two resultsMissing values can affect conditions; use
IS_NA(...)when results look unexpectedly empty or incomplete
Common patterns
Apply a business ruleIF('Margin' < 0, 0, 'Margin')
Use when you want to cap, floor, or branch values based on a condition.
Create a threshold flagGT('Revenue', 100000)
Use when you want to mark where values exceed a threshold.
Compare two nodes for equalityEQ('Actuals', 'Plan')
Use when you want to create match or mismatch flags for validation.
Combine multiple conditions AND(GT('Node', 0), LT('Node', 10))
Use when you want to build between-rules or multi-part checks.
Invert a conditionNOT(EQ('Status', 1))
Use when you want the opposite of an existing rule.
Check for undefined values IS_NA('Node')
Use when you want to identify where values are undefined and may affect downstream comparisons.
Functions in this category
Branching
Function | Description |
Returns one result when a condition is true and another result when it is false. |
Function equivalents of operators
Function | Description |
Returns 1 where matching values are equal; otherwise returns 0. | |
Returns 1 where matching values are not equal; otherwise returns 0. | |
Returns 1 where the first input is greater than the second; otherwise returns 0. | |
Returns 1 where the first input is greater than or equal to the second; otherwise returns 0. | |
Returns 1 where the first input is less than the second; otherwise returns 0. | |
Returns 1 where the first input is less than or equal to the second; otherwise returns 0. | |
Returns 1 when both inputs are true; otherwise returns 0. | |
Returns 1 when at least one input is true; otherwise returns 0. | |
Inverts logical values so non-zero becomes 0 and zero becomes 1. | |
Returns 1 when exactly one input is true; otherwise returns 0. |
Defined / undefined helpers
Function | Description |
Returns 1 for every defined value in the input node. | |
Returns 0 for every defined value in the input node. | |
Returns 1 where values are undefined in the input node’s dimensionality; otherwise returns 0. |
Choosing between similar functions
IF vs flags (EQ/GT/LT/…)
Use
EQ,GT,LT, and similar functions when you need a1/0flag for validation, filtering, or diagnosticsUse
IFwhen you want to return one of two result values
EQ vs NEQ
Use
EQto mark matches.Use
NEQto mark mismatches.
GT/GTE vs LT/LTE
Use
GTorGTEfor above-threshold rules.Use
LTorLTEfor below-threshold rules.
AND/OR vs XOR
Use
ANDwhen all conditions must hold.Use
ORwhen any condition may hold.Use
XORwhen exactly one condition should hold.
IS_NA vs FALSE/TRUE
Use
IS_NAto detect undefined values.Use
TRUEorFALSEwhen you want a defined1or0result across the defined intersections of a node
Pitfalls & troubleshooting
IF(…) result looks incomplete: check whether the condition is undefined for some intersections; use
IS_NAto spot where inputs are missing.Cube size risk:
IS_NAexpands to a fully expanded cube and can hit maximum cube size.Conditions look wrong: check both operands at the same intersection in Data preview; the root cause is often upstream values, not the comparison itself.
Multi-part logic is hard to debug: split logic into helper nodes, then combine with
ANDorOR.Between logic: make it explicit with
AND(GTE(...), LTE(...))rather than relying on a single comparison.Missing vs zero confusion: review Troubleshooting guide when results look unexpectedly false or empty.
Related sections
Comparisons & boolean operators: operator syntax for conditions
Math & numeric: use
MIN/MAXfor simple caps and floorsTroubleshooting guide: missing values and unexpected results
Function catalog: full signatures, parameters, and examples