DISTRIBUTE


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

  • Values with missing partners in the DistributionNode will be evenly distributed to all values in the respective dimension level. This can potentially create a large data set in case of sparse inputs (see example for value 2017).
  • If the distribution is executed on a dimension with a hierarchy (having multiple levels) and the chose distribution level is a higher level, then the distribution will be calculated on the lowest shared level and is afterwards aggregated to the specified level.
Signature

DISTRIBUTE(OriginalNode, DistributionNode [, Level1,...])

Parameters
  • OriginalNode: Input node, specified using the node name in single quotes (e.g. 'OPEX')
  • DistributionNode: Node, by which distribution the values of the OriginalNode should be disaggregated. Specified using the node name in single quotes (e.g. 'Revenue')
  • Level: Level by which the OriginalNode should be disaggregated, i.e. the level which should exist on the node after application of the function (e.g. "Product"). If not specified, all additional levels in DistributionNode will be used for the distribution.

Example

OPEX

Year

OPEX

2015

2000

2016

4000

2017 12000

Revenue

Product Dimension Year
Product Line Product 2015 2016
M1 100 200
M2 300 600
Z3 400 800
Totals 800 1600

DISTRIBUTE('OPEX', 'Revenue')  = DISTRIBUTE('OPEX', 'Revenue') =

Product Dimension Year
Product Line Product 2015 2016 2017
M1 2000 * 100 / 800 = 250 4000 * 200 / 1600 = 500 12000 / 4 = 3000
M2 2000 * 300 / 800 = 750 4000 * 600 / 1600 = 1500 12000 / 4 = 3000
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
2000 * 400 / 800 = 1000 4000 * 800 / 1600 = 2000 12000 / 3 = 4000
2000 * 400 / 800 = 1000 4000 * 800 / 1600 = 2000 12000 / 3 = 4000
X - - 12000 / 3 = 4000
Totals 2000 4000 12000



Was this helpful?

Yes | Somewhat | No