Parent-child hierarchy: how to get readable member unique names?

Is it possible to have a parent-child dimension which is referenced from the fact table via an integer key but shows a string key in it's MDX unique member name

Here is the background to my question:

I have a dimension with a single parent child hierarchy. The key column is test_key and the parent column is test_key_parent, both of type integer. This works beautifully except for the MDX member names which are similar to "[Dim Test].[Hierarchy].&[10]". This project has a requirement that the member unique names are readable so this is not acceptable for me.

My next approach was to add a couple of string columns: test_code and test_code_parent. I then set the KeyColumns property for test_key to be test_code and the KeyColumns property for test_key_parent to be test_code_parent. Looked promising but unfortunately this was a dead end as it meant the fact table would require a column for test_code, not test_key (this is not desireable but if it is the only way, I will do it).

Next I tried to set the usage and make the test_code the Key and test_code_parent the Parent Key. This looked extremely promising as I could still use test_key as the granularity attribute so long as it was and Attribute relation to test_code. The cube even processed but alas the fact values did not aggregate correctly (every member showed the sum of all members). I can't see why this should not work. The granularity attribute is related to the Key attribute as required and all processes well.

Anybody with any tips / experiences in this area, I would love to hear from you.



Answer this question

Parent-child hierarchy: how to get readable member unique names?

  • Bochica

    Thanks for the answer Deepak, thats excellent. Almost exactly what I need.

    I say almost because for all the non parent-child dimensions, we have a Code & Description set up. That is, each level of the hierarchy has two columns, one like "test_code" and one like "test_name". The _code column contributes to the hierarchy but it's NameColumn property is set to the matching _name column. This setup gives us the ability to have a standard set of names (ie the same across each implementation) in the MDX and an entirely different set of names visible to the user. So the reason I was posting here was because I would like to achieve the same thing using parent-child hierarchies. Currently it looks to me like the only way is to reference the actual _code column from the fact table, as outlined in my previous post.

    Don't suppose you can think of anything else

    Thanks


  • 8lu8llz

    If you take the Adventure Works Organization Parent-Child dimension, and change its MemberUniqueNameStyle property to NamePath, then the Unique Names shown in the MDX Query Builder by dragging a member should show a path with names:

    http://msdn2.microsoft.com/en-us/library/ms174900.aspx

    >>

    SQL Server 2005 Books Online
    Defining Cube Dimension Properties
    ...

    MemberUniqueNameStyle

    Determines how unique names are generated for members of hierarchies contained within the cube dimension. This property can have the following values:

    Value Description

    Native

    Analysis Services automatically determines the unique names of members. This is the default value.

    NamePath

    Analysis Services generates a compound name consisting of the name of each level and the caption of the member.

    >>


  • Parent-child hierarchy: how to get readable member unique names?