Skip to main content
Skip table of contents

FILLMISSING

Category: Filtering & data shaping

Overview

The FILLMISSING function fills missing level values of a specified dimension into the input node's data. The input node must already contain the levels of that dimension.
FILLMISSING does not add new levels; it only fills missing level values of levels already present.

Use this function when you want to fill structurally missing level values in an existing dimension with a constant value.

Syntax

FILLMISSING('Node' [, "Dimension" [, Value [, "Behavior"]]])

Example usage: FILLMISSING('Revenue')

Parameters

Parameter

Description

Type

Required

Default

Node

Input node with potentially missing level values, specified in single quotes (e.g.'Revenue')

Node reference

Yes

--

Dimension

Name of the dimension whose level values will be used to fill the input node, specified in double quotes (e.g."ProductDimension")

Dimension name

No

Finest time level

Value

Value written into newly filled rows

Number

No

0

Behavior

Controls which missing entries are filled. Available values:"All", "StartAtFirst", "FinishAtLast", "Interval"

Keyword

No

"All"

Behavior options:

  • "All": Fills all missing values across the full project horizon.

  • "StartAtFirst": Fills missing entries after the first present value per partition, through the end of the horizon.

  • "FinishAtLast": Fills missing entries from the start of the horizon until the last present value per partition.

  • "Interval": Fills missing entries only between the first and last present values per partition.

Output Shape

Aspect

Behavior

Dimensionality

Unchanged (no levels added or removed)

Values

Existing rows are preserved unchanged. New rows are added with the specified fill value.

Row count

Increases to include filled missing level values

Watch Out

  • The input node must already contain levels of the specified dimension. FILLMISSING does not add new levels to the node.

  • If the node has linked levels, you cannot fill values of the linked-to dimension. Fill the source dimension instead to get all valid values.

  • This function enforces level links from dimension management. Do not use this function if you want the node to have different level links than the dimensions.

  • The fill behavior operates per partition: for example, with "StartAtFirst", the start point is determined separately for each product.


Examples

Fill missing values across the time horizon

This example fills missing year and product values with a constant. The project time horizon is 2025-2028.

The dimension "ProductDimension" consists of the level "Product" and the level values "Car", "Van", and "Truck".

The input node features the level values "2025", "2027" and "Car", "Van".

Input node: Input node

Year

Product

Value

2025

Car

100

2027

Van

90

Formula: FILLMISSING('Input node')

Year

Product

→ FILLMISSING Result

2025

Car

100

2025

Van

0

2026

Car

0

2026

Van

0

2027

Car

0

2027

Van

90

2028

Car

0

2028

Van

0

With no arguments, the input node is filled with the missing time level values (2026, 2028) using the default value 0.

Formula: FILLMISSING('Input node', "ProductDimension", 1)

Year

Product

→ FILLMISSING Result

2025

Car

100

2025

Van

1

2025

Truck

1

2027

Car

1

2027

Van

90

2027

Truck

1

Here, the input node is filled with the missing level values of "ProductDimension" (e.g. "Truck"). The fill value is 1.

Fill missing values with different behaviors

This example uses the same input with different behavior settings to show how the fill range changes.

Input node: Input node

Year

Product

Value

2026

Car

100

2027

Van

200

2028

Car

300

Formula: FILLMISSING('Input node', "Time", "1", "All")

Year

Product

→ FILLMISSING Result

2025

Car

1

2026

Car

100

2027

Car

1

2028

Car

300

2025

Van

1

2026

Van

1

2027

Van

200

2028

Van

1

"All" fills empty values over the entire project horizon.

Formula: FILLMISSING('Input node', "Time", "1", "StartAtFirst")

Year

Product

→ FILLMISSING Result

2026

Car

100

2027

Car

1

2028

Car

300

2027

Van

200

2028

Van

1

"StartAtFirst" fills after the first value present for each product through the end of the horizon.

Formula: FILLMISSING('Input node', "Time", "1", "FinishAtLast")

Year

Product

→ FILLMISSING Result

2025

Car

1

2026

Car

100

2027

Car

1

2028

Car

300

2025

Van

1

2026

Van

1

2027

Van

200

"FinishAtLast" fills from the start of the horizon until the last value present for each product.

Formula: FILLMISSING('Input node', "Time", "1", "Interval")

Year

Product

→ FILLMISSING Result

2026

Car

100

2027

Car

1

2028

Car

300

2027

Van

200

"Interval" fills only between the first and last present values for each product.

Fill missing values with linked levels

(info) Keep in mind that this function might change existing level values if the levels are linked. The result of this function always follows the links in the dimension table.

Input node: Input

Month

CalendarMonth

Value

2025-02

06

100

2025-03

06

105

2025-04

11

110

2025-05

05

115

2025-06

06

120

2025-07

02

125

Formula: FILLMISSING('Input', "TimeDimension", 15)

Month

CalendarMonth

→ FILLMISSING Result

2025-01

01

15

2025-02

02

100

2025-03

03

105

2025-04

04

110

2025-05

05

115

2025-06

06

120

2025-07

07

125

2025-08

08

15

2025-09

09

15

2025-10

10

15

2025-11

11

15

2025-12

12

15

Notice that the CalendarMonth values in the input (06, 06, 11, 05, 06, 02) were corrected to match the dimension management links (01, 02, 03, ..., 12). FILLMISSING enforces the linked level values.


Related Functions

Function

When to use instead

FILLMISSING_LAST

When you want missing values filled using the last available value instead of a constant.

FILL_NA

When you want to fill N/A values on existing level combinations after pivoting instead of adding missing level values for a dimension.

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.