DISAGGREGATE
Basic Overview
The function is sustained only for compatibility purposes. Please consider using the newer function DISTRIBUTE instead. The DISTRIBUTE function is easier to use, offers the full functionality of DISAGGREGATE and more.
Description | Disaggregates the values of the Original Node for the given Level 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. |
Notes | The function groups the values according to all shared levels of OriginalNode and DistributionNode. In the example given here, this is the 'Year' level, and hence the distribution is applied to each year individually. If both nodes share a hierarchy, but have different levels, the DistributionNode needs to have the finer level, and is rolled-up to match the level of OriginalNode |
Signature | DISAGGREGATE(OriginalNode, Level, DistributionNode) |
Parameters |
|
Example
Input
OriginalNode
Year | OPEX |
2015 | 4000 |
2016 | 8000 |
DistributionNode
Year | Product | Revenue |
2015 | M1 | 100 |
2015 | M2 | 300 |
2015 | Z3 | 400 |
2016 | M1 | 200 |
2016 | M2 | 600 |
2016 | Z3 | 800 |
Output DISAGGREGATE('OriginalNode', "Product",'DistributionNode')
Year | Product | Measure |
2015 | M1 | 500 |
2015 | M2 | 1500 |
2015 | Z3 | 2000 |
2016 | M1 | 1000 |
2016 | M2 | 3000 |
2016 | Z3 | 4000 |