Wednesday 2 July 2014

How to disable Implied Share


What is implied share?
Implied share is the data storage method for Essbase when there is only one consolidating child for a given parent. In such a case, Essbase only stores data once for these two members.
Even if you have many children under the parent, but only one of them consolidating to, this situation will also result in the implied share mechanism to take action.

What is wrong with implied share?
If you create a data form with @ICHILDREN function to this member (or @IDESCENDANTS) both the only child and the parent will be represented.
In this case, when you enter data to the child, data will not be saved, due to data for parent being #missing and also being saved.
Of course you can enter data twice to overcome this issue, but it doesn't feel right

How to fix for some parts of the hierarchy?
Option 1: A new aggregating member under the same parent can be created to disable the implied share for this hierarchy. But in this case, data forms showing the hierarchy will have a dummy member which is not always applicable.
Option 2: Parent member storage option can be changed to "Never Share" to avoid implied share for the specific part of the hierarchy. The drawback on this option would be that, parent member now can't be a part of an alternate hierarchy.
Option 3: Parent member's member formula can also be updated to the name of the only aggregating child member. The drawback on this option is that, maintenance work related to watch the hierarchy changes increases.

How to fix for the whole application?
There are eight steps to apply application wide fix:
1.      Backup your data
2.      Add below code to essbase.cfg file
o    IMPLIED_SHARE <APPNAME> FALSE
3.      Restart Essbase Server
4.      Create a new application and database
5.      Rebuild the outline
6.      Reload the data
7.      Run the aggregation scripts
8.      Restart the application

For more information about this setting:

http://docs.oracle.com/cd/E40248_01/epm.1112/essbase_tech_ref/frameset.htm?impliedshare.html
Drawback of turning implied share off
In such cases that you can't avoid turning implied share off, this will result in a larger block size and relatively slower performance.