You are on page 1of 4

Essbase ASO Allocation EXECUTE ALLOCATION

www.bispsolutions.com
When you think about allocations in ASO, very first thought would be Allocations are
typically used in the budgeting process to distribute revenues or costs. So, for the
clarity yes, ASO cubes can be part of Planning/Budgeting application.
Limitations of ASO Allocations
1. You can write allocations in MaxL only.
2. Allocations can be done at level 0 members only.
3. Dynamic References are not allowed. I.e Current Member.
As Oracle Essbase Technical Reference says - Execute Allocation Allocate one or
more given source amounts to a target range of cells in an aggregate storage
database. The source amount can be allocated to the target proportionately to a
given basis, or the source amount can be spread evenly to the target region.
Let me show you how easily allocations in ASO can be done; assume we have below
data set in an ASO application Demo. Basic and we want to allocate Total Market
numbers at its children for Budget Marketing.

As I mentioned earlier - the source amount can be allocated to the target


proportionately to a given basis, or the source amount can be spread evenly to the
target region. We will see the example of both, spreading numbers equally to all
children and on basis of actual sales.

www.bispsolutions.com
Below is the example for allocations on basis

Code Break down


POV - provides execution context to an allocation. A POV allows only reference to
level-0 members and allocation will be written to this set of cells.
Amount - This line determines the amount that will be allocated to your target cells.
Amount can be an upper level tuple (in our example it is set to Total Market, which is
a parent) as well as it just reads in a data value.
Target - Provide an MDX tuple defining the database region where results are
written.
Range - Provide an MDX set indicating the database region in which allocated values
are calculated and written. Dimensions mentioned in the range cant clash with the
target or the basis..
Basis - Provide an MDX tuple that, when combined with the range, defines the
location of basis values that determine how the amount is allocated. The basis can
consist of upper-level or level 0 members. Optional if the allocation method used is
spread.
Share - Specify to allocate the amount(s) proportionately to the basis values.
After the execution of this script numbers will be allocated as below

www.bispsolutions.com
example for allocations on Spread equally

The only difference in above script you notice as we remove code for basis and
instead of Share we are using spread for even distribution.
After execution of this script, numbers will be allocated as below

www.bispsolutions.com