Skip to Content
Technical Articles
Author's profile photo Simon Lyng

Update dimension properties using an application

In SAP Analytics Cloud Planning it is possible to use properties on a dimension actively in Data Actions, to different purposes.

I can be to distribute cost, to calculate results and many other use cases.

The advantage is that you can leverage attributes from the source system to ensure correct planning, this could be: Responsble person in Cost Centers, Company Code on Profit Center – But it can also be manually created properties (or attributes) on dimensions in the Modeler in SAP Analytics Cloud.

The disadvantages of the manually created properties, is that you need knowledge and access to do this, and could lead to not leveraging the full potential of the Self Service capabilities that SAP Analytics Cloud provides.

You can do this by creating an Application, where you can actually read the content of the properties created on a dimension, and by using standard functionality, update the values and reading these changes directly in a table.

In this example I am using a model created for the purpose of the blogpost, with only one measure and one dimension:

Model

The property has been created on the dimension, and filled out with values, in this example it is called: Planning_Relevant – Is the dimension member planning relevant:

Masterdata

Masterdata

Model

 

I have constructed a page with a table, where the properties can be viewed, a Dropdown with the dimension members of the Dimension: Company_Code

A textbox with the description of the dimension member selected, and a Input Field where the user can read the current value of the property, and the user will be able to change the value, and update the value in the model by using the button in the application:

Canvas

Canvas

There are 3 scripts in the solution: Initialization, where dimension members are being loaded when the application is being loaded, and inserted into the Dropdown:

Initialization

Initialization

Selector script, where the property and the text of the chosen dimension member is being loaded, and presented in the relevant textbox and input field:

Selector

Selector

Update

 

Update script, where the changed value of the property is being sent to the model, and the application is being refreshed

Update

Update

 

And finally the application, when it is being executed – The selected company code has it’s text and current property value presented, I have actually changed the value from “No” to “Yes”

 

Application

Application

 

And after the update script have been executed, the value is changed in the table

 

After%20the%20update

After the update

 

This way the end user can update properties without engaging IT, and we can leverage to full potential of the Self Service provided in SAP Analytics Cloud

Assigned Tags

      3 Comments
      You must be Logged on to comment or reply to a post.
      Author's profile photo Nikhil Anand
      Nikhil Anand

      Simon Lyng

      Great Article. I think the screenshot for selector script ( reading existing property values ) section has been duplicated with Update script. SAC currently not supporting attribute updates for Version and Account dimension is creating some bottlenecks else this approach can be really handy to centrally manage some key plannable dimensions like version etc.

       

      Br.

      Nikhil

      Author's profile photo Simon Lyng
      Simon Lyng
      Blog Post Author

      Hi

       

      Thanks, I have inserted the correct screenshot - appreciate the comment 😀

       

      /Simon Lyng

      Author's profile photo Diego Curci
      Diego Curci

      Hi Simon,

       

      Your article couldn't have come at a better time.

      We were looking for something like this for some time now.

      Unfortunately, we are finding it very hard to code this because there is no reference as to what objects have what names.

      Current_Value_Header

      Comp_Code_Description

      Comp_Code_Desc_Header

      Current_Value_Input

       

      Would you mind adding screenshots or simply noting what objects are being referenced by their names listed above?

       

      Best,

       

      Diego