PerformancePoint gives you the flexibility to have multiple assumption models to use as you please in your main models. Although this is great, I’ve found a problem when the two assumption models have different member sets for the same dimension, and so in an extension to my last assumption model post, this post provides a workaround for the issue.
Consider the following example. I’ve got a main model where I want to use 2 assumption models, namely:
- HR Assumptions – Uses the HR member set from the BusinessDriver dimension;
- Strategic Assumptions – Uses the Strategic member set from the BusinessDriver dimension.
If you go and add the two assumption models to the main model at the same time, then everything looks normal, as shown in the screen shot below:
Once you deploy successfully, you will of course want to write a business rule to pick up the assumption model data. However, when writing the rule and trying to pick from the BusinessDriver member selector, you will see that you can unfortunately only select from one member set, as shown below:
If you need to write rules that reference specific members in both member sets, then you will be out of luck. It’s not even possible in any kind of native MDX rule, as the main model cube that gets created in Analysis Services only contains the dimension that has been created from the ‘HR’ member set. It would seem that PerformancePoint just picks the member set that is first alphabetically.
The workaround for this issue is simply to create a single member set that combines the two original member sets. Therefore, each assumption model will contain more members than required, but that’s far better than not being able to write the rules that you need.
So just something to be aware of, and catch, at design time – rather than in the middle of your build.