Skip to main content
Skip table of contents

Assumptions & result sets

Overview

Use this category when you need to control how assumptions affect a node’s values or when you want to combine result sets. These functions help you compare “with vs without assumptions”, append non-overlapping outputs, and support legacy behavior during migration.

Start here if…

  • You want to see a node without assumptions applied (for comparison/debugging).

  • You want to combine result sets from multiple nodes (append non-overlapping slices).

  • You’re migrating older models and encounter legacy disaggregation logic.

Not here if…


Mental model

  • BASELINE and NONSIM help you control assumptions:

    • BASELINE removes assumptions on the node and upstream.

    • NONSIM removes assumptions on the node itself but keeps upstream assumptions.

  • UNION combines non-intersecting result sets on the same levels.

  • DISAGGREGATE exists for legacy compatibility and should be replaced by DISTRIBUTE in new models.


Common patterns

  • Compare “with assumptions” vs “baseline”BASELINE('Revenue')
    Use to validate how assumptions impact a result.

  • Remove assumptions on the node onlyNONSIM('Revenue')
    Use when you want to isolate the effect of assumptions placed on the node itself.

  • Append disjoint time slicesUNION('Actuals2024', 'Actuals2025')
    Use when each input covers different periods (no overlap) but you want one continuous output.

  • Enforce “same levels” as a guardrail UNION('NodeA', 'NodeB')
    Use when you want the model to fail fast if level structure diverges (instead of silently combining).

  • Migrate legacy disaggregation logicDISAGGREGATE(...) → replace with DISTRIBUTE(...)
    Use DISAGGREGATE only for backwards compatibility; prefer DISTRIBUTE for new models.


Functions in this category

Function

Description

BASELINE

Returns the value of a node with no assumptions applied on the node or anywhere upstream.

NONSIM

Returns a node’s value without assumptions on the node itself while applying assumptions upstream.

UNION

Combines the result sets of two or more input nodes.

DISAGGREGATE

Legacy function that distributes values onto a level based on another node’s distribution; use DISTRIBUTE instead.


Choosing between similar functions

  • BASELINE vs NONSIM

    • Use BASELINE to remove assumptions on the node and upstream.

    • Use NONSIM to remove assumptions on the node only, while keeping upstream assumptions.

  • UNION vs +

    • Use UNION when you want to append disjoint slices and enforce same levels + no overlap.

    • Use + when overlap is allowed/expected (it’s not constrained like UNION).

  • UNION vs reshaping (ROLLUP/EXPAND/…)

    • Use UNION to combine result sets from multiple nodes.

    • Use reshaping functions when the goal is to change granularity or dimensionality.

  • DISAGGREGATE vs DISTRIBUTE

    • Use DISAGGREGATE only for legacy compatibility.

    • Use DISTRIBUTE for new models and ongoing development (Dimensionality & hierarchies).


Pitfalls & troubleshooting

  • Baseline looks “too different”: verify where assumptions are applied (on the node vs upstream) and choose BASELINE vs NONSIM accordingly.

  • UNION fails because levels don’t match: confirm both inputs have the exact same level set (same dimensions/levels, same structure).

  • UNION fails because rows overlap: ensure the same intersection does not exist in more than one input; split inputs into disjoint slices (often by time or member subsets), or use + if overlap is intended.

  • Legacy function in active use: if you still rely on DISAGGREGATE, plan migration to DISTRIBUTE to avoid legacy limitations and reduce maintenance risk.


Related sections

JavaScript errors detected

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

If this problem persists, please contact our support.