BookmarkSubscribeRSS Feed
metalray
Calcite | Level 5

Hello,

we are looking at a feasible security concept for unbalanced hierarchies. The MDX below fails to be applicable when a level is missing because in that case data would be retrieved from one or more levels higher than the user has clearance for.

Descendants(

Ancestor(

Head(

Filter(

[DIM_SALES].AllMembers,[DIM_SALES].CurrentMember.Level.Name = 'SELLER_ID' and [DIM_SALES].CurrentMember.Name = 'SUB::SAS.Userid')

).Item(0

)

,3)

)

3=  this MDX script applies to user in role “General Agent” so it means if the users, at bottom level SELLER_ID, is a general agent than go 3 levels up  sales_team, main agency, general agency. If , for some reason a main agency is missing it would go up to the level region_USA which is not so great because the user is in role “General Agent” and not “regional agent”. At the end the user would see too much data.

Does someone have an idea how that could be solved? I have doubts that this will work with MDX at all.

sas-innovate-wordmark-2025-midnight.png

Register Today!

Join us for SAS Innovate 2025, our biggest and most exciting global event of the year, in Orlando, FL, from May 6-9. Sign up by March 14 for just $795.


Register now!

How to Concatenate Values

Learn how use the CAT functions in SAS to join values from multiple variables into a single value.

Find more tutorials on the SAS Users YouTube channel.

SAS Training: Just a Click Away

 Ready to level-up your skills? Choose your own adventure.

Browse our catalog!

Discussion stats
  • 0 replies
  • 819 views
  • 0 likes
  • 1 in conversation