TM1 Object Naming Conventions

As a developer, you are responsible for creating and naming many objects in the IBM® Cognos® TM1® system. TM1 enforces some restrictions on naming while other guidelines offer "best practice" guidance. Observe the following conventions when naming TM1 objects.

Although some of these characters are not specifically reserved, it is a best practice to avoid the use of these special characters in the majority of cases when naming objects and elements. See Element names and MDX expressions for specific information about naming elements.

Table 1. Special characters to avoid using in object and element names

Character

Description

apostrophe

*

asterisk

@

at sign - see Object names in TM1 rules.

\

back-slash

:

colon

,

comma

{

curly brace - see The curly brace in object names.

"

double-quote

!

exclamation mark - see Object names in TM1 rules.

>

greater-than

<

less-than

-

minus sign - in element names. See Element names and MDX expressions.

|

pipe

+

plus sign - in element names. See Element names and MDX expressions.

?

question-mark

;

semicolon

/

slash

~

tilde - see Object names in TM1 rules.

Specifically-reserved characters per component

The following characters are explicitly reserved for the following components and should never be used when naming objects in these contexts:

  • TM1 Architect reserves these characters:

    \ / : * ? " < > | } 
  • TM1 Server reserves these characters in these objects: Cube, Dimension, Subset, View, Process, Chores.
    \ / : * ? " < > | ' ; ,
  • For process variable name, the identifier cannot contain any special characters except for:

    AllowableChars[] = ".$%_`";

The curly brace in object names

It is a best practice to avoid the use of the right curly brace (}) as the first character in any user-created TM1 object name. TM1 control object names always begin with the right curly brace. If a user-created object name begins with a right curly brace, the object becomes hidden if the Display Control Objects parameter is turned off.

Element names and MDX expressions

Do not use + or - as the first character of an element name. Although only the first element in a subset when slicing to active form cannot use + or - as the first character in the element name, in order to prevent encountering this problem it is best to never use + or - as the first character of an element name.

Although all the other characters available for use in element names are technically not restricted, it is best practice to avoid the special characters listed in the previous table when naming elements.

An element name can contain a right square bracket ( ] ) but when an element name containing this character is referenced in an MDX expression, the character needs to be escaped by doubling it. For example, an element named Array[N] Elements, can be referred to in an MDX expression as [Array[N]] Elements].

Object names in TM1 rules

Although technically allowed, it is a best practice to avoid using these special characters in object names because they may conflict when used in a rules expression. This guideline protects you if the objects or elements ever become part of a rule statement where those special characters are not permitted.

  • For example, ) | ~ ; @ \ / : * ? " < > are all often found in rules statements and should not be used in object names.
  • The @ is technically not restricted, however it is a best practice to avoid using the @ character in object names or element names because the @ character is also a string comparison operator in TM1 rules. If you reference any object with a name that contains the @ character in rules, the object name must be enclosed in single quotation marks. For example, a dimension named products@location must be referenced as 'products@location' in rules. Escaping the name with quotation marks does not work in all cases, so it is best to avoid the use of @ in all cases when naming objects.
  • Escaping the special character using quotation marks does not work for ! or in certain rule expressions.
  • The exclamation point ! character should not be used in object names because it is also used in rules expressions. For example:
    DB('MarketExchange',!market,!date)

Maximum string length for data directory and object names

The entire string represented by the combination of the IBM Cognos TM1 server data directory name and the object name is limited to 256 bytes. For example, if your data directory is C:\Financial data\TM1\ (22 bytes), object names are limited to 234 bytes, inclusive of a file extension such as.cub or .rux.

Some TM1 objects, such as views, subsets, and applications, are stored in sub-directories of the TM1 server data directory. In this case, the 256 byte limit is applied to the combination of the TM1 server data directory, the sub-directory, and the object name.

Case sensitivity

Object names are not case sensitive. For example, the dimension name actvsbud is equivalent to ActVsBud.

Spaces in object names

Spaces are allowed in all object names, but spaces are ignored by the IBM Cognos TM1 server . The TM1 server considers the dimension name Act Vs Bud to be equivalent to ActVsBud (or actvsbud).

User names

User names that include reserved characters cannot save private objects.