ROLLFORWARD_MUL
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 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 |
Signature | ROLLFORWARD_MUL('OriginalNode' [, 'Node1', …]) |
Parameters |
|
Available since | 3.9.0 |
Example
Revenue =
Year | Country | Revenue |
2020 | DE | 100 |
2020 | US | 100 |
As you can see, the “Revenue” node contains our base data for the countries US and DE.
Price Change (%) =
Year | Change in % |
2021 | 10% |
The “Price Change” node contains a 10% change without any country-level values.
Volume Change (%) =
Year | Country | Value in % |
---|---|---|
2021 | DE | 10% |
2021 | FR | 20% |
The “Volume Change” node contains 10% and 20% changes; note that the 20% change is for the country “FR”, which was not present in the base node “Revenue”.
ROLLFORWARD_MUL('Revenue', 'Price Change', 'Volume Change') =
Year | Country | Value |
---|---|---|
2020 | DE | 100 |
2020 | US | 100 |
2021 | DE | 100 * ( (0.1 + 1) * (0.1 + 1) ) = 121 |
2021 | US | 100 * (0.1 + 1) = 110 |
This chart displays the calculation logic and results when using ROLLFORWARD_MUL with the previous nodes.
As you can see, both countries (DE & US) received a 10% growth from the level-less “Price Change” node. Additionally, this 10% growth was multiplied by another 110% of the base value in the case of DE, which is due to the “Volume Change” node.
The key aspect of ROLLFORWARD_MUL is visible in this 2021 DE value; the two 10% growths are first multiplied (1.1 * 1.1) and then applied to the base value (100 * 1.21).
For more examples look at ROLLFORWARD function documentation. Keep in mind the difference in how the functions treat multiple influence parameters.