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 results with and 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 or debugging.

  • You want to combine result sets from multiple nodes by appending non-overlapping slices.

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

Not here if…


Mental model

  • BASELINE removes assumptions on the node and upstream.

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

  • UNION combines non-overlapping 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 when you want to validate how assumptions affect a result.

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

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

Use level matching 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 logic
DISAGGREGATE(...) → 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 the same levels with no overlap.

  • Use + when you want to combine overlapping values arithmetically.

UNION vs reshaping functions

  • Use UNION to combine result sets from multiple nodes.

  • Use reshaping functions such as ROLLUP or EXPAND when you want to change granularity or dimensionality.

DISAGGREGATE vs DISTRIBUTE

  • Use DISAGGREGATE only for legacy compatibility.

  • Use DISTRIBUTE for new models and ongoing development.


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.

  • UNION fails because rows overlap: ensure the same intersection does not exist in more than one input; split inputs into disjoint slices, 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.