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: 
9,746
In this blog, I will introduce how to use the new function Dimension Combination Rule to allow data input and publish only on valid member combination across dimensions. The feature has been released in version 2020.07.

User Case


A typical user case is organizational dependencies when defining financial master data; for example: one cost center belongs to one profit center. With Dimension Combination Rule, user is able to define organizational dependency.

Assuming in the planning model, there are Cost Center dimension and Profit Center dimension. User would like to define member combinations between Cost Center and Profit Center dimension.Cost Center and Profit Center have the below dimension members. CC1 belongs to PC1, CC2 belongs to PC2, and so on.


Another user case is sales strategy that some products are only allowed to be sold in some locations. Hence there should be relationship between Product dimension and Location dimension.

Next, taking cost center/profit center case, I will show you how to create the Dimension Combination Rule, and how the planning uses Dimension Combination Rule.

How to define Dimension Combination Rule?



  1. Open SAC model, switch on Validation Rule in the model preferences. The Rules tab is added to the model maintenance page after turn On the toggle.

  2. Open the Cost Center dimension and create a new custom property named "ProfitCenter"(it’s not required to name property as ProfitCenter. Any name is ok). And then maintain the allowed combination values of Profit Center for each cost center

  3. After saving the master data, go to Rule tab of the model. Create a new Rule, select Cost Center as Reference dimension. In Matched dimension setting, select "ProfitCenter" from the attribute list and match it to Profit Center dimension. Then, save the rule.


Parent Node


When defining the rule via dimension attribute, hierarchy node is NOT supported. Member used in combinations are treated as leaf members.

Unassigned (#) member


Unassigned (#) member is always valid with allowed combinations.

Let's take above rule as example.

In Profit Center dimension, members PC1, PC2, PC3 are allowed members with Cost Center dimension, hence unassigned (#) member of Cost Center is allowed combination with PC1, PC2,PC3.


Also, CC1, CC2, CC3 has allowed combination with Profit Center dimension, then we will also generate Unassigned (#) of Profit Center as allowed combination with CC1, CC2, CC3.

You may notice CC4 is not a valid member with any Profit Center. So, Unassigned (#) member of Profit Center is not a valid member with CC4 .Same for PC4 which is not valid with any cost center, hence unassigned (#) member of Cost Center is NOT a valid member with PC4.



Enter Data in Table


In the SAC story, add Cost Center and Profit Center in the story row and use unbooked mode to show all the base members in the table.


Then, you would get Data Entry restriction when trying to input data into the table.

  • Enter data into (Unassigned, PC1/PC2/PC3/Unassigned) is allowed. Enter data into (Unassigned, PC4) is NOT allowed.

  • Enter data into (CC1, PC1/PC2/Unassigned) is allowed. Enter data into (CC1, PC3/PC4) is NOT allowed.

  • Enter data into (CC2, PC2/Unassigned) is allowed. Enter data into (CC2, PC1/PC3/PC4) is NOT allowed.

  • Enter data into (CC3, PC2/PC3/Unassigned) is allowed. Enter data into (CC3, PC1/PC4) is NOT allowed.

  • Enter data into (CC4, PC1/PC2/PC3/PC4/Unassigned) is NOT allowed.


Disaggregation


Besides entering data into base member directly, disaggregate data also follow the dimension combination rule.

  • If Cost Center or Profit Center does not added in the table row or column, entered data will go to Unassigned member firstly for Cost Center or Profit Center as before.

    • If Unassigned member is excluded for Cost Center or Profit Center in this case, data will only be disaggregated to allowed combination.



  • If user enters data into parent node of the Cost Center or Profit Center, disaggregation to leaf nodes will follow the rule "booked data have higher priority than unbooked data."

    • For the parent node which is booked (some leaf nodes have data), the value will only be disaggregated to the valid booked combinations. For example,(CC1,PC1) are valid combination while (CC1, PC3) are invalid combination. Both of them have booked data 100. Enter data 300 on their parent node (CC1, All PC) will only be disaggregated to allowed combination (CC1, PC1).

    • For the parent node which is unbooked (none leaf nodes have data), the value will only be disaggregated to the valid unbooked cells. For example, (CC1, PC1/PC2/PC3/PC4) are all unbooked cell. Enter data on 200 on their parent node (CC1, All PC) will only disaggregated to allowed combination (CC1, PC1/PC2).







    • In case the disaggregated leaf nodes are all invalid (for both unbooked and booked cases above), there will be error message. For Example, un-allowed combination (CC1, PC3) have booked data 100. Enter data 200 on its parent node (CC1, All PC) will get an error message and change data is restricted.




Currently, not all the functions use dimension combination rule.


There are still chances that invalid data is created/modified in private version, These invalid data changes are NOT allowed to be Published to public version.

Publish Data


When click Publish Data button to publish the change to a public version, Dimension Combination Rule will be checked again. User will have the choice to cancel the Publish and go back to story to correct data on invalid combinations, or go ahead with Publish then invalid data changes will be lost.


Please Note:

  • Data Import does not know dimension combination rule, hence there is chance that invalid data is imported to model. This might not be a big problem, since most Import case is importing ACTUAL data into SAC, not Plan data.

  • Max. three rules are allowed in one model.

  • Max. two dimensions are allowed in one rule in 2020.07. (From 2020.10, the limit will be extended to three dimensions.)

26 Comments
JefB
Active Contributor
Another limitation is that you can only have properties in SAC with 170 characters, so for example you can only create a list of maximum 16 profit centers if they would have a maximum length of 10 characters. Also, users are not informed which combinations are invalid.
So, it's not really useable now for complex scenarios. Please develop this further into robust functionality, and if so, really looking forward to use it.
Hi,

is there a way to show only valid combinations even with "unbooked" ?

In the example above with CC and PC, only valid combinations need to be shown to the business user in a standard planning layout. A report that shows data on invalid combinations is good, too but that would be more a superuser / admin task.

Would be great to have this option.

Thanks for any feedback & best regards,

Christian

 

 
0 Kudos
Hi Jef,

You are right. Because of SAC dimension property has the length limitation, it cannot define a lot of members in one property. This feature will be continuously improved, which could allow user to define combination rules more flexibly and could support more complex scenarios.

 

Best regards.

Kilar
Hi Christian,

Thank you for your feedback and your request is valid.  This enhancement has already been considered in our development team. Currently, we are still working on the investigation on the solution of how to reach this.

 

Best regards.

Kilar
JefB
Active Contributor
0 Kudos
I have the same request and really hope this is coming soon.
0 Kudos
Got it. 🙂
ALinetzky
Participant
0 Kudos
Hi Kilar,

 

It´s possible to do the same between models?

For example I have a Model with a internal ordere dimension and other model with profit center dimension, and the Internal Order has Profit center as atribute.

Is it possible to make a combination rule so that it takes the profit center attribute of the internal order dimension of the source model and leaves it as the profit center dimension of the target model?

Regards
Ariel

 

#SAC
0 Kudos
Hi Ariel,

Currently, the dimension combination rule could only be defined within model. 🙂

 

Best regards.

Kilar
ALinetzky
Participant
0 Kudos
Thanks Kilar, it's a shame, that would have been very helpful
former_member468968
Discoverer
Hi Kilar,

Thanks for the blog. As you have mentioned in the blog - > it's possible to create valid combinations between dimensions in the model using rules (even with more than 2 dimensions at a time), however I can not seem to find the option to only show valid combinations in the story, which I have created.

My simple case is - > i have sites and they only sell particular categories of products, in the planning (which has no data by default) i need to only show valid combination of Site & Product category dimension, otherwise whole table becomes unusable. Currently even with enforced rules all combinations of 2 dimensions are shown.

I have also noticed in the Improvement ideas (https://influence.sap.com/sap/ino/#/idea/237887/?section=sectionDetails) that this seems to be released?

Will appreciate your feedback.
Hi Alexey,

For table only show the valid combination, it is in our backlog already and we are still under investigation on the solution of it. Will update when it is ready for customer.

 

Best regards.

Kilar
JefB
Active Contributor
0 Kudos
Hi Kilar, is there any update on this?
Hi Jef,

Currently, there is no update for this request. Will update you when I get anything new.

 

Best regards.

Kilar
medas144
Explorer

Hi kilargong

Any news on that. In addition the limitation is 127 characters not 170 (3031564)

Best regards,

Manolis

JefB
Active Contributor
0 Kudos
Hi Kilar, is there any update?
Hi Jef,

Currently, there is no update. But our team is taking this as high priority and try to align it with all the related teams to figure out the solution. Will update here after I got the updates.

Best regards.

Kilar
JefB
Active Contributor
0 Kudos
Looking forward to hearing something
0 Kudos
Hi All,

 

Can anyone confirm if the validation rules setup within the model will be applicable while importing the data into the model via Flat File.

 

Thanks

Shivam
SarauShen
Product and Topic Expert
Product and Topic Expert
Hi Shivam,

For now, validation rule is NOT applicable to importing flat file.

 

Sarau
sebassmit
Participant
0 Kudos
Hi jefb,

Do you have any improvement requests with regard to this topic?

Kind regards,

Sebastian
david_ings
Explorer
Hi Kilar,

 

Is there any update on showing only valid combinations in a story, and the property length restriction as raised by other users?

 

Thanks

David
0 Kudos
Hi David,

  • "Showing only valid combinations in a story" is still under investigation. Because it requires several components to implement the logic.

  • "Property length restriction" is a modeling restriction. Currently, modeling team has added it into their roadmap.

  • For both of these two items, I will update you when there is some new information.


Best regards.

Kilar

 
Hi David,

The property length restriction has been enhance. The previous length limitation is 128. After the SAC is upgraded to 2023.13 or later version, the max length of property can be 5000. That means customer can maintain more members in the properties used by combination rules.

 

Best regards.

Kilar
Hi Manolis,

The property length restriction has been enhance. The previous length limitation is 128. After the SAC is upgraded to 2023.13 or later version, the max length of property can be 5000. That means customer can maintain more members in the properties used by combination rules.

 

Best regards.

Kilar
Hi Jeff,

The property length restriction has been enhance. The previous length limitation is 128. After the SAC is upgraded to 2023.13 or later version, the max length of property can be 5000. That means customer can maintain more members in the properties used by combination rules.

 

Best regards.

Kilar