Tokens (PEL)

Tokens are symbol characters that PerformancePoint Expression Language uses to set apart specific language elements. For example, the token for a parameter is the dollar sign ($). To use a parameter in a business rule statement, you must enclose the parameter name in dollar signs, such as $MyPeformancePointParameter$.

The following table shows the tokens used to specify PEL language elements.

Token type Delimiter symbol Definition Description

Consolidation Method Spec

#

Names a consolidation method spec

Sequence of any characters enclosed by sharp signs, such as #MyMethodSpec#

Identifier

None

Names a function

Sequence of alphanumeric characters, including the underscore character ( _ ), such as MyIdentifier or _myIdentifier. Identifiers cannot begin with a digit.

Parameter

$

Names a parameter

Any set of characters enclosed by dollar signs ($), such as $MyParameter$

Reference

[ ]

Names a member or a metadata object

Any set of characters enclosed by square brackets ([ ]), such as [MyModel], except combinations that form a reserved word.

String

" "

Specifies a sequence of characters

Any set of characters enclosed by double quotation marks (" ")

Variable

&

Names a variable

Any set of characters enclosed by ampersands (&), such as &MyVariable&

Verbatim string

<< >>

Specifies an MDX or SQL expression that you want to use in a pass-through statement

Any set of characters preceded by less-than signs (<<) and succeeded by greater-than signs (>>), such as <<MySQLString>>.

The end delimiter pair, >>, cannot be used within a VerbatimString.

Keyword escape

@

Indicates a keyword will be used as an identifier.

Specifies that an adjacent word is an identifier, not a keyword.

For example, @system specifies an identifier named system, and @level specifies an identifier named level.

For a list of PEL keywords, see Keywords (PEL).

Comment

//

-or-

--

-or-

/*…*/

Specifies a text string that is a comment and will not be interpreted or compiled.

Two forms of comments are supported:

  • Single-line comments begin with two slash (//) or two dash (--) characters and extend to the end of the line.

  • Multiline comments begin with a slash-asterisk combination (/*) and can continue for as many lines as required. A multiline comment ends with an asterisk-slash combination (*/). Multiline comments can be nested.

Using a delimiter in a token

In most cases, you can use one of the PEL token symbols as part of the language element if you write two consecutive, identical symbols as part of the name.

The following list shows specific guidelines:

  • To include a sharp sign as part of a consolidation method spec, use two sharp signs, such as #MyMethodSpec### to indicate the consolidation method MyMethodSpec#.

  • To include a dollar sign as part of a parameter name, use two consecutive dollar signs. For example, to use My$Parameter as a parameter name, use $My$$Parameter$.

  • To include a closing bracket as part of a reference name, use two consecutive closing square brackets. For example, to use the reference name My]Model, use [My]]Model].

  • To include a quotation mark as part of a string, use two consecutive double quotation marks. For example, to use My"String as a string, use "My""String".

  • To include an ampersand as part of a variable name, use two consecutive ampersands. For example, to use My&Variable as a variable name, write &My&&Variable&.

Special requirements for reference tokens

There are two kinds of references: member references and metadata references. Metadata objects include dimensions, hierarchies, levels, members, and models.

The following list shows the requirements that apply to all reference tokens. Misuse of these requirements causes a compiler warning.

  • Cannot contain control characters

  • Cannot contain white space other than the space character

The following list shows the requirements that apply to all reference tokens. Misuse of these requirements causes a compiler error.

  • Must contain at least one character, and can contain no more than 40 characters

  • Must contain a character other than a space

  • Cannot have leading or trailing spaces

The following list shows additional requirements that apply only to metadata reference tokens. Misuse of these requirements causes a compiler error.

  • Cannot contain any of the following characters: (.,;’`:*|?”&%$!-+=^()[]<>/\~)

  • Cannot contain of any of the following reserved names: AUX, CLOCK$, COM1 through COM9, CON, LPT1 through LPT9, NUL, PRN

See Also

Concepts

Parameters (PEL)

Other Resources

About model properties
PEL syntax elements