DISAGGREGATE

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.

DISAGGREGATE

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(OriginalNodeLevelDistributionNode)

Parameters

  • OriginalNode: Input node, specified using the node name in single quotes (e.g. 'OPEX')
  • 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")
  • DistributionNode: Node, by which distribution the values of the OriginalNode should be disaggregated. Specified using the node name in single quotes (e.g. 'Revenue')

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

Was this helpful?

Yes | Somewhat | No