IS_NA
Category: Logical functions
Overview
The IS_NA function returns 1 for any values that are undefined (not available) in the input and 0 for any values that exist. The result covers the full cross product of all dimension levels, not just the rows present in the input.
Use this function when you want to detect undefined values explicitly before they cause unexpected empty results in downstream logic.
Syntax
IS_NA('Node')
Example usage: IS_NA('Revenue')
Parameters
Parameter | Description | Type | Required |
|---|---|---|---|
Node | Input node, specified using the node name in single quotes (e.g. | Node reference | Yes |
Output Shape
Aspect | Behavior |
|---|---|
Dimensionality | Same dimensions as input. |
Values | 1 where the input is undefined (N/A). 0 where the input has a value. |
Row count | Expanded to the full cross product of all level values in the input's dimensions. This is typically larger than the input. |
Watch Out
IS_NA expands to the full cross product of all level values. This can produce a very large result and may hit the maximum cube size. Use with caution on nodes with many dimension levels.
IS_NA returns 1 for undefined intersections, not for zero values. A value of 0 is defined and returns 0, not 1.
Unlike TRUE and FALSE, IS_NA does not just operate on existing rows. It creates rows for every possible combination of level values to check which ones are missing.
Examples
Detecting undefined values
This example shows IS_NA returning 1 where the input is undefined and 0 where a value exists. Note that 0 is a defined value and returns 0.
Input node: A
Year | Value |
|---|---|
2025 | 400 |
2026 | 0 |
2027 | 850 |
2028 |
Formula: IS_NA('A')
Year | → IS_NA Result |
|---|---|
2025 | 0 |
2026 | 0 |
2027 | 0 |
2028 | 1 |
Year 2026 has a value of 0 (which is defined), so IS_NA returns 0. Year 2028 has no value at all, so IS_NA returns 1.
Multi-dimensional expansion
IS_NA expands to all possible level value combinations. If some products are missing data in certain years, IS_NA flags exactly those intersections.
Input node: Sales
Year | Product | Value |
|---|---|---|
2025 | A | 100 |
2025 | B | 200 |
2026 | A | 150 |
Product B has no data for 2026.
Formula: IS_NA('Sales')
Year | Product | -> IS_NA Result |
|---|---|---|
2025 | A | 0 |
2025 | B | 0 |
2026 | A | 0 |
2026 | B | 1 |
IS_NA creates the full cross product (2 years x 2 products = 4 rows) and marks the missing intersection (2026, B) with 1.
Related Functions
Function | When to use instead |
|---|---|
When you need a constant 0 for defined values instead of detecting missing ones. | |
When you need a constant 1 for defined values instead of marking undefined ones. | |
When you want to fill missing values with a default instead of just detecting them. | |
When you want to fill missing values with the last given value instead of just detecting them. |