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-2026-white.png



April 27 – 30 | Gaylord Texan | Grapevine, Texas

Registration is open

Walk in ready to learn. Walk out ready to deliver. This is the data and AI conference you can't afford to miss.
Register now and lock in 2025 pricing—just $495!

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
  • 989 views
  • 0 likes
  • 1 in conversation