Skip to content

Global time vectors

These time vector variables are present in every projection node. They are included in every "Time Vectors" table in the output.

This is equivalent to creating a variable set named "global" from which all other variable sets inherit.

Unlike the global scalars, these variables are not available to functions that affect the structure of the model, like mapProjectionValues, etc..

t

Every projection node has one or more time steps. t is the ordinal of the current time step in the current projection node. It always starts at t=1. The last value depends on the configuration of the valuation type being used.

A Time Vector is any Variable that depends on t.

This variable cannot be modified.

Tip

For backward-compatibility with the VBA engine, t must be specified as SequenceFrom1 in the Formula column of the GlobalProjectionVariables table. If the VBA engine is not used, you don't need a row for t in that table.

Date

In most models, each time step corresponds to one month. The Date is the last day of the month at the current time step.

The default formula in the template is EOMONTH(ProjectionStartDate,t-1). This may be modified for advanced use cases. Some parts of the documentation assume that this has not been changed.

Add your own

You may add your own global time vectors.

Using an Excel model

Add a row to the GlobalProjectionVariables table.

VarName Formula
Date EOMONTH(ProjectionStartDate,t-1)
MyGlobal 3+t*2

Using a YAML or JSON model

When using a YAML or JSON model file, there is no implicit "global" variable set. You can create one manually, and let all other variable sets inherit from that one.

variable_sets:
  - name: global

variables:
  - group: global
    name: MyGlobal
    dimensionality: TimeVector
    weight: 1

variables_in_sets:
  - variable_set: global
    formula: 3+t*2
    variable: MyGlobal

variable_set_inheritance:
  - parent: global
    child: AnotherVariableSet
{
    "variable_sets": [
        {
            "name": "global"
        }
    ],
    "variables": [
        {
            "group": "global",
            "name": "MyGlobal",
            "dimensionality": "TimeVector",
            "weight": 1
        }
    ],
    "variables_in_sets": [
        {
            "variable_set": "global",
            "formula": "3+t*2",
            "variable": "MyGlobal"
        }
    ],
    "variable_set_inheritance": [
        {
            "parent": "global",
            "child": "AnotherVariableSet"
        }
    ]
}