ROLLFORWARD
Basic Overview
Description | Rolls the values of OriginalNode forward with the influence of Node1 and other optional Nodes. The rollforward starts after the last value along the finest time level and is done for each shared dimension individually. If Node is not of type percent, the percentage-wise differences are calculated relative to the first value of the Node. Both nodes need to have the time dimension available. The dimensions of OriginalNode are retained and determine the dimensionality of the result. Node1 is rolled up according to its aggregation function to match the dimensions of OriginalNode. The difference between this function and ROLLFORWARD_MUL is how they treat multiple influence nodes. ROLLFORWARD sums up the effects and then applies them to the OriginalNode. ROLLFORWARD_MUL multiplies up the effects and then applies them to the OriginalNode The first argument is optional. The rollforward will work as if a "flat" growth was supplied. See examples of usage at in our Tutorials in the Training Center: Training Center (DE) |
---|---|
Signature | ROLLFORWARD('OriginalNode' [, 'Node1', …]) |
Parameters |
|
Example
Rollforward with a Percentage Node as Input
OriginalNode =
Year | Revenue |
---|---|
2016 | 95 |
2017 | 100 |
Inflation (Unit:Percent) =
Year | Inflation in % |
---|---|
2017 | 0.02 |
2018 | 0.1 |
2019 | 0.2 |
Output ROLLFORWARD('OriginalNode', 'Inflation')
Year | Revenue |
---|---|
2016 | 95 |
2017 | 100 |
2018 | 110 |
2019 | 132 |
Rollforward with an absolute Node as Input
Market in EUR:
Year | Market Size |
---|---|
2017 | 10000 |
2018 | 10100 |
2019 | 10500 |
Output ROLLFORWARD('OriginalNode', 'Market')
Year | Market Size |
---|---|
2016 | 95 |
2017 | 100 |
2018 | 100+(10100/10000) = 101 |
2019 | 101+(10500/10100) = 102,03 |
Rollforward with multiple driver nodes
When working with multiple drivers, the effects are calculated and applied individually per time period (e.g. year).
Inflation in Percent:
Year | Inflation |
---|---|
2017 | 10% |
2018 | 10% |
2019 | 10% |
Growth in Percent:
Year | Growth |
---|---|
2017 | 20% |
2018 | 20% |
2019 | 20% |
Revenue in EUR:
Year | Revenue |
---|---|
2017 | 1000 |
ROLLFORWARD('Revenue','Inflation','Growth'):
Year | ROLLFORWARD(...) |
---|---|
2018 | 1000 + (1000 * 0.1) + (1000 * 0.2) = 1300 |
2019 | 1300 + (1300 * 0.1) + (1300 * 0.2) = 1690 |
See ROLLFORWARD_MUL if you prefer to have the effects "influence each other" in the respective time periods.
If 'Node 1' relates to a EUR node, it will be interpreted as a market, and transformed to a YoY-growth. Then the resulting growth is applied.