IBM TECHNOTE:
The behavior change described in this Technote has been reverted in the Planning Analytics 2.0.9.2 release. In the 2.0.9.2 release security will no longer be evaluated when processing an MDX statement. The results of the MDX statement will only be filtered based on member security. This is consistent with the behavior in 2.0.8 and lower versions. Planning Analytics customers are encouraged to update to the 2.0.9.2 release.
Prior to the Planning Analytics 2.0.9 release the list of elements returned by subset MDX (dynamic subset) is filtered based on element security. If element security is present then a non-admin user must have READ or greater security on an element in order to see that element in the subset. Security was only applied after the MDX statement was evaluated.
An MDX expression may also reference specific member names. Consider the DESCENDANTS MDX functions such where a specific member is named as the parameter value.
Planning Analytics 2.0.9 introduces a change where security is evaluated during the evaluation of the MDX statement. If a user does not have READ or greater access on a member referenced by a MDX function the MDX function will return an empty set. The impact to users in some cases may be an empty subset.
This is an intentional change in behavior that addressed a potential security concern. Consider the case where a non-admin user knows the name of a consolidated member but does not have READ access for that member. If this user has READ access to one or more children of the consolidation they could execute MDX that allows them confirm the consolidated element is the parent of the children. The parent child relationship between these members may be considered sensitive information in the TM1 model.
In the case where a dynamic subset is impacted by this change in behavior the following options may be considered:
1 – When possible change the MDX in the dynamic subset so that it does not reference members that users do not have READ access on.
2 – Consider the use of static subsets. The list of elements in a static subset are still filtered for non-admin users based on element security.