Object Names in Schema Rowsets

All object names are strings. That is, the _NAME and _UNIQUE_NAME columns in the schema rowset are strings.

Each schema rowset deals with a particular object in the multidimensional data model: catalog, schema, cube, dimension, hierarchy, levels, members, or properties. Many schema rowsets contain columns of the following types: _NAME, _UNIQUE_NAME, _CAPTION, and DESCRIPTION. These four concepts are related but not identical.

Consider the entry in the MEMBERS rowset for the city of Portland, Oregon. The MEMBER_NAME column will contain "Portland". The MEMBER_UNIQUE_NAME column has "USA.Oregon.Portland". The qualification is necessary because the name "Portland" is ambiguous ? there is another Portland in the state of Maine. However, a provider is not required to generate a unique name by adding the qualification. The provider can generate a unique name using any method. The only requirement is that the name must be unique.

The MEMBER_CAPTION column can contain any string that the database administrator considers to be a displayable name: For instance, the name could be "Portland" or "Portland, the city of roses." The DESCRIPTION column also is a string, and can be used for anything you want. Consumers typically use the CAPTION column for display. The UNIQUE_NAME column is used for querying and for restricting other schema rowsets.

The concept of UNIQUE_NAME applies to all multidimensional schema objects except the catalog, schema, and cube names. For these objects, the consumer is required to provide the qualification, if needed.


For providers that generate unique names using qualification, each component of a UNIQUE_NAME should be delimited. For more information, see Delimited Identifiers.

The schema rowset of the schema object (from dimension on down) contains columns for the UNIQUE_NAME values of all its ancestor objects (up to and including the dimension, but not the cube, schema, or catalog). It has a column for its name (NAME) and for the display caption (CAPTION).