Planning Analytics

Planning Analytics

Get AI-infused integrated business planning

 View Only
  • 1.  MDX and Element Security - IBM PA SaaS 12.4.6

    Posted Fri January 31, 2025 02:21 AM

    The interaction of element security and subset MDX on IBM PA on AWS (v 12.4.6) appears to have changed from older versions (e.g. 11.8.13). In the older version, it appears that the MDX logic was applied first, and the element security thereafter. On the new version, it appears that the element security is applied first, and thereafter the MDX, and as a result the MDX can fail for non-admin users that don't have access to all elements in the dimension.

    For example, using the following Cost Centre dimension:

    Assume that a user is granted access to element 100 and its children, but has no access to All Cost Centres.

    A Workspace view reports data by cost centre, with the subset MDX reflecting all descendents of "All Cost Centres". MDX would be:
    {DISTINCT({DESCENDANTS([CostCentre].[CostCentre].[All Cost Centres])})}

    or even the older:
    {TM1DRILLDOWNMEMBER({[CostCentre].[CostCentre].[All CostCentres]} , ALL , RECURSIVE)}

    When the workbook with the view is opened by the non-admin user on the old v11 version, the MDX is applied, and thereafter the element security, and the view successfully reports the following cost centre structure:

    However, when opened on the new version (v12.4.6), it appears that the element security is applied first. As a result, the "All Cost Centres" element is not found and the MDX that references this element, fails and returns no elements at all. 

    Seems to be similar to a change made and then reversed back in 2020:
    https://www.ibm.com/support/pages/node/6226890

    Anyone know if this is intentional, or if this is a bug?

    There are work-arounds that do work, e.g. using static subsets (then requires methodology to maintain these), or alternatively modifying the MDX in the view to return all members and then excluding roll-ups that are not required, but both options are not as simple as using the standard MDX generated by the subset editor. 



    ------------------------------
    Johann Kassier
    Enterprise Planning Architect
    Fusion 5
    ------------------------------


  • 2.  RE: MDX and Element Security - IBM PA SaaS 12.4.6

    Posted Fri January 31, 2025 12:42 PM

    Hi Johann,

    Thank you for posting us on the differences v11 vs v12. 

    The change is going to be properly documented for the current supported behavior soon.

    Best regards,



    ------------------------------
    Svetlana Pestsova
    IBM Planning Analytics Product Manager
    ------------------------------



  • 3.  RE: MDX and Element Security - IBM PA SaaS 12.4.6

    Posted Sat February 01, 2025 03:46 AM

    Hi Svetlana 

    Thanks for confirming that this was an intentional change. It'll be key to get it documented and clarified, as this will impact very many Workspace, Pafe and TM1web interfaces and templates, so a key change that users will need to consider when migrating! 

    Regards



    ------------------------------
    Johann Kassier
    Enterprise Planning Architect
    Fusion 5
    ------------------------------



  • 4.  RE: MDX and Element Security - IBM PA SaaS 12.4.6

    Posted Mon February 03, 2025 01:46 PM

    Svetlana-

    Does this mean the element security behavior relative to MDX in V12 will be configurable (as described in the linked text note)?  

    Chris



    ------------------------------
    Chris Courim
    ------------------------------



  • 5.  RE: MDX and Element Security - IBM PA SaaS 12.4.6

    Posted Mon February 03, 2025 03:46 PM

    Hi Johann and Chris!

    The clarification is indeed necessary as in v12 that is the next version there is no optional configuration for security for MDX/tm1. That is going to work only as described in this example relative to v12 version:

    Non-admin user does not have access to the element [All Cost Centres]; thus, calling it directly in the MDX like
    • {DISTINCT({DESCENDANTS([CostCentre].[CostCentre].[All Cost Centres])})}
    • {TM1DRILLDOWNMEMBER({[CostCentre].[CostCentre].[All CostCentres]} , ALL , RECURSIVE)}
    does not resolve. Hence, the MDX fails and the result (calling the subset) will give an empty set.
    For example, when changing to
    • {DISTINCT({DESCENDANTS([CostCentre].[CostCentre].members)})}
    • {TM1DRILLDOWNMEMBER({[CostCentre].[CostCentre].members} , ALL , RECURSIVE)}
    will give the elements accessible to the non-admin user correctly.

    I'd see if the v12 documantation would include the explanation.

    Best regards,



    ------------------------------
    Svetlana Pestsova
    IBM Planning Analytics Product Manager
    ------------------------------



  • 6.  RE: MDX and Element Security - IBM PA SaaS 12.4.6

    Posted Mon February 03, 2025 09:03 PM

    Svetlana-

    Very helpful. Thank you.

    Chris



    ------------------------------
    Chris Courim
    ------------------------------



  • 7.  RE: MDX and Element Security - IBM PA SaaS 12.4.6

    Posted Mon February 03, 2025 09:51 PM

    Thanks Svetlana - that aligns with my findings above. Thank you for confirming.

    The big difference between:

    • {DISTINCT({DESCENDANTS([CostCentre].[CostCentre].[All Cost Centres])})} and
    • {DISTINCT({DESCENDANTS([CostCentre].[CostCentre].members)})}

    of course is that the latter will show all roll-ups that a user has access to. Picture the following scenario:

    • The dim has multiple roll-ups
    • A user has access to part of both roll-ups
    • An analysis view with cost centres in the rows has its MDX changed from the top MDX to the bottom MDX.
    • In this case, instead of the user just seeing a single part of the one rollup (perhaps a total and its children), the user will see parts of multiple rollups, potentially with multiple totals.

    Might mean potentially having to move back to static subsets on dimensions with detailed element security, or otherwise very specific MDX driven subsets with required roll-ups identified in some other way, e.g. via attributes, in particular on older models.



    ------------------------------
    Johann Kassier
    Enterprise Planning Architect
    Fusion 5
    ------------------------------