Skip to main content
Skip table of contents

FILLMISSING

Basic Overview

AVAILABLE FROM 5.2.0

Description

Fills up all the missing level values of a specified dimension to the data of the input node. The input node must already contain the levels of the dimension.

Signature

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

AVAILABLE FROM 5.8.0

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

Parameters

  • Node: A node (with potentially missing level values)
  • Dimension: Name of the dimension which level values will be used to fill up the input node. This function does not add levels to the input, it just fills up missing level values of the levels already present. The default fill up is done on the finest time level.
  • Value: The value of the new rows. The default value is 0.
  • Behavior: [optional] The filling behavior that the function will follow. Available behaviors:
    • All: Default behavior. Fills all the empty values with the specified value over the horizon.
    • StartAtFirst: Fills only the empty vaues with the specified value starting after the first entry of the specified dimension.
    • FinishAtLast: Fills only the empty entries starting from the start of the project horizon and finishing at last entry of the specified dimension.
    • Interval: Fills only the empty entries between first value present and last value present.
Limitations
  • Node must already contain levels of the specified dimension
  • If the node contains linked levels, it is not possible to fill values of the dimension that is linked too. Fill the values that is linked from to get all the valid values instead.
  • Important: This function always makes the links from the levels of the specified dimension be the same as in the dimension management.
  • Do not use this function if you want the node to have different level links as the dimensions.


Example

The time horizon of the project is 2021-2024.

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

The input node features the level values '2021', 2023' and 'Car', 'Van'.

Input node = 

YearProductValue
2021Car100
2023Van90


FILLMISSING('Input node') = 

YearProductValue
2021Car100
2021Van0
2022Car0
2022Van0
2023Car0
2023Van90
2024Car0
2024Van0

With this formula, the input node is filled with the missing level values (2022, 2024) of the default dimension 'Time' and the default value '0' is added.

The input node now features all years of the project time horizon with the value '0'. 












FILLMISSING('Input node',"ProductDimension", 1) = 

YearProductValue
2021Car100
2021Van1
2021Truck1
2023Car1
2023Van90
2023Truck1

With this formula the input node is filled up with the missing level values of the Dimension 'ProductDimension' (Truck).

The entered value is '1'. 


Example with different behaviors

Input node=

YearProductValue
2022Car100
2023Van200
2024Car300

FILLMISSING('Input node', "Time", "1", "All") =

YearProductValue
2021Car1
2022Car100
2023Car1
2024Car300
2021Van1
2022Van1
2023Van200
2024Van1

When using default behaviour "All", the function acts the same way as the previous example and fills the empty values over the project horizon.

FILLMISSING('Input node', "Time", "1", "StartAtFirst") =

YearProductValue
2022Car100
2023Car1
2024Car300
2023Van200
2024Van1

When using the behaviour "StartAtFirst", the function fills the empty entries starting after the first value present for each product. Filling ends at the end time of project horizon.

FILLMISSING('Input node', "Time", "1", "FinishAtLast") =

YearProductValue
2021Car1
2022Car100
2023Car1
2024Car300
2021Van1
2022Van1
2023Van200

With using the behavior "FinishAtLast", the function fills the empty values until the last entry present for each product. The filling starts at the start time of project horizon.

FILLMISSING('Input node', "Time", "1", "Interval") =

YearProductValue
2022Car100
2023Car1
2024Car300
2023Van200

When using the behavior "Interval", the function fills the empty values starting at the first entry present and finishes at the last entry present for each product.

Example with linked levels

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

Input = 

MonthCalendarMonthValue
2021-0206100
2021-0306105
2021-0411110
2021-0505

115

2021-0606120
2021-0702125

FILLMISSING('Input',"TimeDimension", 15) =

MonthCalendarMonthValue
2021-010115
2021-0202100
2021-0303105
2021-0404110
2021-0505115
2021-0606120
2021-0707125
2021-080815
2021-090915
2021-101015
2021-111115
2021-121215
JavaScript errors detected

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

If this problem persists, please contact our support.