I know that I’m breaking the Groovy series in between and going ahead with a different post, however I left that I should share this information (which I found out while writing the series) ASAP.
If you are following the series (if you are not then read Part I and Part II), I did describe in Part II how to replicate PBCS Smartlist from Hierarchy in On-premises Hyperion Planning.
It uses a procedure and some triggers to generate the Smartlist on the fly. Once I created the process and started using it I found out an issue in my logic and thought of validating it against PBCS and my fear came true!!!
What I’m going to tell you is all speculations, however I do have a feel that it is what is happening.
To test my theory I created a Hierarchy driven Smartlist in PBCS.
And here are the entries.
What is does is automatically create an ID, Member Name becomes “Name”, and Alias becomes “Label”
Let’s say that I change the alias of 110, yes you guessed it correctly it changes the Label automatically.
This is where my speculation starts. How I achieved this was by creating two triggers and a procedure to build the Smartlist and if I go by that process what happens if I create a bulk import of members, yes that is again a correct guess. It is going to run that trigger for each single update.
I don’t think this is the method that is used in PBCS, however it is something similar.
Any updates to HSP_ALIAS table and HSP_MEMBER table is also captured in HSP_ENUMERATION_ENTRY table too.
In order to test the implication of this on Metadata import I tried to add 2500 members under Total Entity.
The time it took to add these members without Hierarchy driven Smartlist (I just went ahead and unchecked the option “Create From Members” from the Smartlist) was 37 secs
Deleted the members and ran the same job with Smartlist “Create From Members” checked. It took 2 mins 38 secs!!!!!
So if you are using this option in PBCS, don’t forget to uncheck “Create From Members” or
Run a Metadata import option as shown below
SmartList Name, Operation, Label, Display Order, Missing Label, Use Form Missing Label, Member Selection, Entry ID, Entry Name, Entry Label, Automatically generate ID SL_Entity,deletesmartlist,,,,,,,,,
Now once the import is done you can run another Metadata import option as shown below
SmartList Name, Operation, Label, Display Order, Missing Label, Use Form Missing Label, Member Selection, Entry ID, Entry Name, Entry Label, Automatically generate ID SL_Entity,addsmartlist,SLEntity,id,,true,ILvl0Descendants(Total Entity),,,,false
I think this should be solved within the product itself where Import Metadata option should disable the trigger/method for updating the Smartlist and only trigger it at the end of the Import metadata job.
HTH
Thanks Celvin, finally we have SMART lists 🙂
I’m curious, did you try to cross-reference the SL member in a business rule? I’ve been getting the error attempting to cross a null member,,, in the new features release doc somewhere they mentioned you can do that using @Member@HspNumtoString(Sl_id))…?
Cheers,
Omar
That will not work in the way you demonstrated. It’ll come hopefully tomorrow and I’ll add that to my series