Project Variables
Project variables let you define shared values for f.e. time or data sources once and reuse them across models and scenarios. They help keep models consistent, flexible, and easy to update.
When to use it
When the same value is used in many places across a model
When underlying values change over time but the calculation should remain the same
How it works
Project variables act as central placeholders for values.
They can be:
Defined at the project level
Used inside node calculations
Overwritten per scenario when needed
Some variables are system-defined, while others can be custom variables created by users. Variables can hold numeric or non-numeric values.
Using variables ensures that changing a value in one place automatically updates all calculations that rely on it.

Setup
Project variables are defined in the project settings.
Once created, they are available throughout the project and can be referenced in models and scenarios with the $ character preceding the variable name.

Available System Variables
Variable | Description | Example Value |
|---|---|---|
| The project's horizon period from time settings | "Year" |
| The start value of the project time horizon | "2025" |
| The end value of the project time horizon | "2030" |
| The current period of the project | "2026" |
Common Use Cases
As Dynamic Level Values
Variables are commonly used as level values in dimension parameters, especially for the time dimension. Instead of hardcoding a specific year, you can reference a variable that updates automatically.
Example: FILTER('Revenue', "Year", "$FC_End")
This pattern works in any function that accepts level values, such as FILTER that reference dimension members.
In DATA Function Parameters
Variables can be embedded anywhere within a DATA parameter string to dynamically reference data sources or tables:
DATA("Datasource_$Variable", "TableName", "MeasureName")
DATA("DataSourceName", "$TableName", "MeasureName")
This allows scenarios to switch between different data sources or tables without changing the formula. See the DATA function page for a full overview of placement patterns.
Limitations & edge cases
Sharing scenarios with overwritten variables is not supported.
Variable names must follow naming rules to be usable in formulas.
System-defined variables are managed through project settings, not directly edited everywhere.
FAQ
Why should I use project variables instead of fixed values?
They make models easier to maintain by centralizing key value management.
Can variables be different per scenario?
Yes. Variables can be overwritten at the scenario level.
What happens if a project variable changes?
All calculations using that variable update automatically, unless a scenario has pinned its own value.
Are all variables visible in the same place?
Custom variables are listed in the variable overview. Some system variables are configured via project settings.