Technology Blogs by SAP
Learn how to extend and personalize SAP applications. Follow the SAP technology blog for insights into SAP BTP, ABAP, SAP Analytics Cloud, SAP HANA, and more.
cancel
Showing results for 
Search instead for 
Did you mean: 
jraymond15
Associate
Associate
3,074
This blog post is the fourth part of a blog post series with the intent to serve as a guide towards success with allocations in the SAP Analytics Cloud. It is complementary to the Webinar “Getting the Most out of Allocations with the SAP Analytics Cloud”.

To view the introduction with an overview of SAP Analytics Cloud allocations and other blog posts in the series, please click here.

Scenario: Your IT Department has been collecting costs for the entire organization since the beginning of the year. After quarter 1 ends, you want to simulate the allocation based on the headcount values stored in your plan version. In order to do this simulation, we can use a calculated account for the driver.

Create the Calculated Account:

In our account dimension, we can create a new member to use as our driver. In this member, we add a member formula:


Allocation Process:

Create an allocation step with a source dimension and target dimension of entity. We will need to specify our accounts that we want to allocate in the “Filter by Accounts” options.

Create the Allocation Step:

Create an allocation step to and from the Entity dimension, and check the boxes to "Keep Source and "Overwrite Target"

We are still filtering on our expense accounts in this example.


 

Allocation Rule:

Once we create the Allocation Step, we can add the details to the Allocation Rule. For this rule, we have specified the Cost Collector (our IT department) as the source entity (sender), Plan headcount as the driver (calculated account) and the parent node All Portfolios as the target entities (receiver)


Source Data:

On our source data, we will focus on the EXP1 line for January - we want to allocate out $62,500.


 

Headcount (Driver) Data:

When the system runs the allocation, it will calculate the amounts each Entity receives based on the data stored against headcount data. In our example, if we focus on January, P1_L will receive 20% of the costs incurred on the Cost Collector (20/100=10%). Notice that the version of this headcount data is Plan V1 which is what we are looking up in our calculated account. So, even when we run the allocation on the "Allocs" version, the driver values will come from the Plan V1 version.


Run Allocation:

We run the allocation using the "Execute Allocation Process" button in the story menu:


Results:

Once we run the allocation, we can check the results. If we focus on P1_L for January, we can see that 20% of $62,500 was allocated correctly. Please see calculation below.


Calculation:

Source Amount for Cost Collector/Input/Jan: $62,500
P1 Large/HC/Input value: 20/100= 0.2
$62,500 *0.2 = $12,500
3 Comments
pedrosan
Product and Topic Expert
Product and Topic Expert
0 Kudos

Hi @jraymond15!

Any chance to make this work without an account dimension in the model?

I tried a similar approach using a calculated measure to generate a driver based on the previous year's actuals but the allocation did not work. I tested the same allocation using values in the same year for the driver plan values and it worked so I am guessing the issue is related to using the cacl measure instead of the calc account member. Have you tried something similar?

KR,

Pedro

Anna_D
Explorer

Hi Pedro,

I experienced exactly the same you described. But I tried with both measure and account dimension as driver (two different models).

Basically, in both cases, if I run the allocation step with 'LY Actual' as driver on a different version as target, it doesn't work. My solution to make it work is to prepopulate the target scenario with some data. No matter which data, the target scenario has to be populated. If you run the data action for allocation step, in a prepopulated scenario, it works!

While, if I run the same allocation step (with 'LY Actual' as driver) on Actual data, even if the scenario is empty, the allocation works.

Let me show you some examples: I want to allocate an amount of 400 (which is on the unassigned members) on COST_CENTER and COST_ELEMENT members using LY Actuals as driver. 

Anna_D_0-1718374986988.png

LY Actual formula:

Anna_D_1-1718375205565.png

Allocation Data Action:

Anna_D_2-1718375362495.png

 

If I run the Allocation Data Action on a private version as target:

Anna_D_3-1718375423980.png

It is not working. Nothing happened.

While If I run the same Allocation Data Action on Actual version:

Anna_D_4-1718375488708.png

It is working as expected:

Anna_D_5-1718375548874.png

If I prepopulate the target scenario (my private version):

Anna_D_6-1718375617377.png

and then I execute the same Data Action:

Anna_D_7-1718375654141.png

It worked:

Anna_D_8-1718375709490.png

Hope it helps you.

 

 

 

 

 

 

 

pedrosan
Product and Topic Expert
Product and Topic Expert

Hi @Anna_D 

Thank you for your answer! I ended up doing something similar, I copied the actuals to my plan version with a copy step and then performed the allocation via an advanced formula step.