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 rolledup 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 