Object Naming (Analysis Services - Multidimensional Data)

Object Names, IDs, and References

In general, every major object contains the following properties:

  • Name   Normally, the names of sibling objects are unique within the scope of the parent collection. For example, two different Database objects may have the same Dimension names. However, within each Database, the Dimension names are unique. Exceptions to this rule are noted later. For example, Measure names need to be unique at the Cube level, but they do not need to be unique at the level of the parent MeasureGroup.

  • ID   The uniqueness restrictions that apply to Name properties also apply to ID properties. In addition, ID properties cannot be changed. ID properties are assigned upon creation by the user, by the application, or automatically by the server (if the properties are not specified). If the server assigns ID properties, the server sets the ID properties to the initial name of the object.

  • Description

Object References

Objects are referenced by their ID properties. The naming convention for ID properties starts with a name that is based on the target type, adds the suffix "ID", and possibly adds a prefix that provides extra information on the role that the object plays. For example, the object is the default measure used in a Cube. The target type of the object is Measure. To this target type name, you add the suffix "ID" and the prefix "Default." The resulting ID property name becomes DefaultMeasureID, as shown in the following code:

<Cube>

<DefaultMeasureID>Amount</DefaultMeasureID>

<Cube>

 

When a qualified name that consists of multiple IDs is required (for example, CubeID and MeasureID both refer to a measure in another Cube), then an outer element is introduced to contain the set of ID elements.

Reference Exceptions

A DataSource reference that consists of a single dot (.) refers to the current database of the current OLAP server. For example, the following XML fragment points to the current Database of the current OLAP server instance:

<DataSourceID>.</DataSourceID>

 

References to DataSourceView (DSV) elements are exceptions to the referencing rules. A DataSet object in the Microsoft .NET Framework describes the schema for a DSV. In the schema, a DSV object has a Name, but not an immutable ID. Therefore, references to a DSV object needs to use the Name as the identification mechanism. For example, the reference, ColumnBinding.TableID, does not contain the ID. Instead, the reference contains the Name of the appropriate table.

Naming Guidelines

ASSL applies the same rules for case and whitespace to Names and ID properties as use in DSO 8.0:

  • The uniqueness check for Name and ID is not case sensitive. Therefore, it is not possible to have a Cube named “sales” and another named “Sales” in the same database.

  • While a Name or ID property can contain embedded spaces, the property cannot contain leading or trailing spaces. Leading and trailing spaces are implicitly trimmed. This rule applies both to the Name and ID of an object, as well as to the values of elements that reference that Name and ID.

The following rules also apply to Name and ID properties. These rules are similar to rules in DSO 8.0.

  • The maximum number of characters is 100.

  • There is no special requirement for the first character of an identifier. The first character may be any valid character

The following reserved names must not be used:

  • AUX

  • CLOCK$

  • COM1 through COM9 (COM1, COM2, COM3, and so on)

  • CON

  • LPT1 through LPT9 (LPT1, LPT2, LPT3, and so on)

  • NUL

  • PRN

  • NULL is not allowed as a character in any string within the XML

The following table lists invalid characters for specific objects.

Object

Invalid characters

Server

The name must follow the rules for computer names. (IP addresses are not valid.)

DataSource

: / \ * | ? " () [] {} <>

Level or Attribute

. , ; ' ` : / \ * | ? " & % $ ! + = [] {} < >

Dimension or Hierarchy

.,, ; ' ` : / \ * | ? " & % $ ! + = () [] {} <,>

All other objects

. , ; ' ` : / \ * | ? " & % $ ! + = () [] {} < >

Localized Names

Captions for objects that are visible to clients (for example, Dimension, Hierarchy, and Level) can be localized into different languages. Captions for objects that are defined by way of commands (for example, calculated measures and named sets) are provided as part of the MDX definition of the objects.

The bindings for attributes also allow a different source (for example, a different source column) for the attribute name to be provided for different languages.

It is not possible to localize the Names of objects.