Hi!
I dont know if this helps you, it was a while ago since I worked with cubes and MDX....:)
Here is a sample code on how we solved access to different levels of a dimension, I remeber that the <!--Condition--> was important to get it to work :). We defined groups in metadata tha correspond to the data in the cube and depending on which group a person belonged to that information was retrieved from the cube :
generate( Filter([Customer].[Customer Unit ID].[Customer_id].members,IN ([Customer].CurrentMember.name,"SUB::SAS.IdentityGroups")) , ascendants([Customer].[Customer Unit ID].currentmember) ) <!--CONDITION--> generate( Filter({[Customer].[Customer Unit Name].[Customer_id].members},IN ([Customer].[Customer Unit Name].CurrentMember.name,"SUB::SAS.IdentityGroups")) , ascendants([Customer].[Customer Unit Name].currentmember) )
generate( Filter([Customer].[Region ID].members,IN ([Customer].[Region ID].CurrentMember.name,"RECA")) , ascendants([Customer].[Region ID].currentmember) )
<!--CONDITION-->
generate( Filter({[Customer].[Region Name].members},IN ([Customer].[Region Name].CurrentMember.name,"N Europe & Cent Asia")) , ascendants([Customer].[Region Name].currentmember) )
generate( Filter([Customer].[Customer Unit ID].members,IN ([Customer].[Customer Unit ID].CurrentMember.name,"100017")) , ascendants([Customer].[Customer Unit ID].currentmember) )
<!--CONDITION-->
generate( Filter({[Customer].[Customer Unit Name].members},IN ([Customer].[Customer Unit Name].CurrentMember.name,"Verizon")) , ascendants([Customer].[Customer Unit Name].currentmember) )
... View more