MDX Object Naming Concept

Inline image 1
There are only two different types of object under dimension : Attribute or Hierarchy, so
1. Always starting with [Dimension Name].[Attribute Name] or [Dimension Name].[Hierarchy Name]
ex :  [Product].[Category].XXX  or [Product].[Product Categories].XXX
2. What's different between [Product].[Category].members  and  [Product].[Category].[Category].members
Answer : [Product].[Category].members includes [All] member, [Product].[Category].[Category].members doesn't include [All] member
               [Product <-- Demension].[Category <-- Attribute].members, it will return all members in Category Attribute, so it includes [All] member.
               [Product <-- Demension].[Category <-- Attribute].[Category <-- Level].members, it will return only members in Category Level of Category Attribute, so it                          doesn't include [All] member.
3. What's different between [Product].[Product Categories].members  and  [Product].[Product Categories].[Category].members
Answer :    [Product <--Dimension].[Product Categories <--Hierarchy].members  will return all product categories members, includes one [All] member, and all                             category level members, all subcategory level members and all product level members 
                   [Product <--Dimension].[Product Categories <--Hierarchy].[Category <-- Level].members will only return Category Level members, they are Bikes,                             Components, Clothing and Accessories
4. Correct Object Name
   for Attribute
    [Product].[Category].[Bikes]   <-- [Dimension Name].[Attribute Name].[Member Name] 
    [Product].[Category].[Category].[Bikes]   <-- [Dimension Name].[Attribute Name].[Level Name].[Member Name] 
    [Product].[Category].[All].[Bikes]   <-- [Dimension Name].[Attribute Name].[All Member].[Child Member] 
    [Product].[Category].[(All)].[All].[Bikes]   <-- [Dimension Name].[Attribute Name].[(All) Level].[All member].[Child Member] 
   for Hierarchy
    [Product].[Product Categories].[Bikes]  <--  [Dimension Name].[Hierarchy Name].[Member Name]
    [Product].[Product Categories].[Road Bikes]  <--  [Dimension Name].[Hierarchy Name].[Member Name]
    [Product].[Product Categories].[Cable Lock]  <--  [Dimension Name].[Hierarchy Name].[Member Name]
    [Product].[Product Categories].[Category].[Bikes]  <--  [Dimension Name].[Hierarchy Name].[Level Name].[Member Name]
    [Product].[Product Categories].[Subcategory].[Road Bikes]  <--  [Dimension Name].[Hierarchy Name].[Level Name].[Member Name]
    [Product].[Product Categories].[Product].[Cable Lock]  <--  [Dimension Name].[Hierarchy Name].[Level Name].[Member Name]
    [Product].[Product Categories].[Category].[Bikes].[Road Bikes]  <--  [Dimension Name].[Hierarchy Name].[Level Name].[Member Name].[Child Member Name]
    [Product].[Product Categories].[Category].[Bikes].[Road Bikes].[Road 250 Red, 58]  <--  [Dimension Name].[Hierarchy Name].[Level Name].[Member Name].[Child Member Name].[Child Member Name]
5. Incorrect Object Name
    [Product].[Product Categories].[Category].[Road Bikes]  <--  [Category] is level, but [Road Bikes] is not Category Level Member
    [Product].[Product Categories].[Category].XXX   when you use level, the XXX can only be a member in that level
    [Product].[Product Categories].[Bikes].[Subcategory].[Road Bikes]  <--  [Bikes] is member, it can only followed by child member
    [Product].[Product Categories].[Bikes].[Subcategory].[Road Bikes]   you can't use level after a member, only can use child member
    [Product].[Product Categories].[Bikes].[Road 250 Red, 58]  <--  [Bikes] is member, it can only followed with child member, [Road 250 Red, 58] is not a child of [Bikes]
    [Product].[Product Categories].[Bikes].[Road 250 Red, 58]  member can only be followed by a child member, so you can use [Product].[Product Categories].[Bikes].[Road Bikes].[Road 250 Red, 58]  


Have more questions? Submit a request


Please sign in to leave a comment.