DISTRIBUTE
Basic Overview
Description | Distributes the values of the Original Node based on the value distribution from the Distribution Node - in relation to the aggregated values of the Distribution Node when rolled-up to the levels of the Original Node. Can be used to redistribute values, which are not available on a certain level. An example is the assignment of OPEX to products according to their revenue. Levels can be specified to restrict the distribution to these levels, otherwise values are distributed to all available levels. |
Notes |
|
Signature | DISTRIBUTE(OriginalNode, DistributionNode [, Level1,...]) |
Parameters |
|
Example
OPEX
Year | OPEX |
---|---|
2015 | 2000 |
2016 | 4000 |
2017 | 12000 |
Revenue
Product Dimension | Year | ||
Product Line | Product | 2015 | 2016 |
M | M1 | 100 | 200 |
M2 | 300 | 600 | |
Z | Z3 | 400 | 800 |
Totals | 800 | 1600 |
DISTRIBUTE('OPEX', 'Revenue') = DISTRIBUTE('OPEX', 'Revenue') =
Product Dimension | Year | |||
Product Line | Product | 2015 | 2016 | 2017 |
M | M1 | 2000 * 100 / 800 = 250 | 4000 * 200 / 1600 = 500 | 12000 / 4 = 3000 |
M2 | 2000 * 300 / 800 = 750 | 4000 * 600 / 1600 = 1500 | 12000 / 4 = 3000 | |
Z | Z3 | 2000 * 400 / 800 = 1000 | 4000 * 800 / 1600 = 2000 | 12000 / 4 = 3000 |
X | X4 | - | - | 12000 / 4 = 3000 |
Totals | 2000 | 4000 | 12000 |
DISTRIBUTE('OPEX', 'Revenue', "Year", "Product Line") =
Product Dimension | Year | ||
Product Line | 2015 | 2016 | 2017 |
M | 2000 * 400 / 800 = 1000 | 4000 * 800 / 1600 = 2000 | 12000 / 3 = 4000 |
Z | 2000 * 400 / 800 = 1000 | 4000 * 800 / 1600 = 2000 | 12000 / 3 = 4000 |
X | - | - | 12000 / 3 = 4000 |
Totals | 2000 | 4000 | 12000 |