IBM Support

Understanding unique names vs display names and aliases when dealing with Members under Alphablox

Question & Answer


Question

When using under Alphablox API's (like metadata and calculated member APIs) against multi-dimensional data, it is important to understand unique names vs display names and aliases and where to use which ones.

Answer


This note contains the following information pertaining to understanding DB2 Alphablox® multi-dimensional result set unique names versus display names and aliases.


Overview

There is often a difference between the name of a member displayed in a Blox and the name of the member used in our API's. MDX DataSources like IBM and Alphablox Cubing service or Microsoft® Analysis Services (MSAS) fully qualified member names, Essbase shared members, and prefix and suffix stripping, all create this scenario. Following are some tips in how to identify, access, and use the appropriate member name for your particular needs.



Rules of Thumb

In general,


Unique Names

In DB2 Alphablox, unique names are the names of the members as they exist in our result set. They are different between Essbase and MDX data sources (like Alphablox Cubes, MSAS, etc...)



MDX Unique Names

There are multiple Multi-dimensional back ends for which Alphablox uses MDX as opposed to Essbase Report Spec (i.e. Alphablox cubes, . MSAS, etc...). For DB2 Alphablox, this is the fully qualified name of a member as in:.


[Locations].[All Locations].[Central].[Colorado].[Aspen]

or in the case of a dimensions with multiple hierarchies under MSAS as in the QCC time dimension:

[Time].[Calendar].[2000]

When resolving members against MDX data sources, prefix the member name with the cube name for performance reasons. It prevents the member attempting to be resolved against all dimensions in all cubes in the database. For IBM/Alphablox cubes, it is required in either case.

Note: do not use [Time.Calendar] in DB2 Alphablox APIs. While it works in some places, it does not work in all APIs.


Essbase Unique Names

For Alphablox, this is the Essbase Base member name in the outline (not the alias name) if the member is not shared. If the member is an Essbase shared member, the Alphablox unique name is the "path to" the shared member with base names separated by ASCII 1's. For example, the base name & unique name of "Diet Cola" is:


100-20

The unique name of the shared member "Diet Cola" under "Diet Drinks" is:


Product?Diet?100-20     (the "?"'s or smiley faces are ascii 1's)

To get a member's base name using the Metadata API's , regardless of whether or not it is a shared member, you can do:


String uniqueName  = member.getUniqueName();
   int    li          = uniqueName.lastIndexOf( '\u0001' );
   String  memberName = uniqueName;
   if( li != -1 )
   {
       memberName = uniqueName.substring( li+ 1 );
   }

Display Names

The display name is exactly what is displayed in the grid. e.g. the member name with any characters removed that would be removed by Alphablox prefix or suffix stripping ( memberNameRemovePrefix & memberNameRemoveSuffix )


MDX Display Names

Alphablox display names for MDX members do not contain the hierarchy, the "[]" characters, or characters removed by removed prefix and suffix stripping ( e.g. Aspen, not [Locations].[Aspen]).



Essbase Display Names

The Alphablox display name for a member is the alias name if useAliases is enabled, otherwise, it is the Essbase base member name less characters removed by removed prefix and suffix stripping . i.e. if aliases were turned off on the DataBlox, Diet Colas would appear as:


100-20

otherwise, as:


Diet Cola

regardless of whether it is the base member or shared member you are referring to.

[{"Product":{"code":"SSCPX3","label":"DB2 Alphablox"},"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Component":"Java and Web Development","Platform":[{"code":"PF002","label":"AIX"},{"code":"PF027","label":"Solaris"},{"code":"PF033","label":"Windows"},{"code":"PF016","label":"Linux"}],"Version":"5.5;5.6;8.2;8.3;8.4","Edition":"","Line of Business":{"code":"LOB10","label":"Data and AI"}}]

Document Information

Modified date:
16 June 2018

UID

swg21177132