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.