Reference Updated April 8, 2026

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

ParameterDescriptionTypeRequired
NodeInput node, specified using the node name in single quotes (e.g.'Revenue')Node referenceYes

Output Shape

AspectBehavior
DimensionalitySame dimensions as input.
Values1 where the input is undefined (N/A). 0 where the input has a value.
Row countExpanded 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

YearValue
2025400
20260
2027850
2028

Formula: IS_NA('A')

Year→ IS_NA Result
20250
20260
20270
20281

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

YearProductValue
2025A100
2025B200
2026A150

Product B has no data for 2026.

Formula: IS_NA('Sales')

YearProduct-> IS_NA Result
2025A0
2025B0
2026A0
2026B1

IS_NA creates the full cross product (2 years x 2 products = 4 rows) and marks the missing intersection (2026, B) with 1.


FunctionWhen to use instead
FALSEWhen you need a constant 0 for defined values instead of detecting missing ones.
TRUEWhen you need a constant 1 for defined values instead of marking undefined ones.
FILLMISSINGWhen you want to fill missing values with a default instead of just detecting them.
FILLMISSING_LASTWhen you want to fill missing values with the last given value instead of just detecting them.
Was this page helpful?