References (PEL)

An identifier delimited by brackets ([]) is called a reference. Typically, references name data objects such as a member, a member set, or a rule. The body of a reference can contain any combination of characters, such as [Sales Volume Tokyo] or [Personnel Costs Chicago].

All references have the following restrictions:

  • Have at least one character other than a space character, but no more than 40 characters

  • May not contain control characters, or whitespace other than the space character, leading spaces, or trailing spaces

References are categorized by the kind of object they reference. For example, member references represent a member of a dimension, and metadata references represent data that describes other data, such as a definition or a dimension.

Metadata references have two additional naming restrictions.

  • Metadata references may not contain any one of the following characters:.,;’`:/\*|?"&%$!-+=^()[]< >

  • Metadata references may not use any one of the following reserved names: AUX, CLOCK$, COM1 through COM9, CON, LPT1 through LPT9, NUL, and PRN

Model References

A model reference is composed of the keyword MODEL followed by a reference enclosed in parentheses.

  MODEL (reference)

A model reference resembles a function call, but the parentheses enclose a reference, not a name list.

Because the scope of a rule is limited to the model that contains it, references to dimension members that are defined in a model do not require the model name. For example, the PEL compiler assumes that the Scenario dimension in the following statement is defined in the same model that contains the rule.

THIS = ([Scenario].[All Members].[Budget]) * 10;

To reference a member set that is defined in a separate model, you must explicitly designate the reference as a model reference. Model references are enclosed in parentheses, as shown in the following syntax line:

( Model(model_name),dimension_member,… )

The following example shows how to specify a model reference to the Revenue Assumptions model, a different model from the one that contains the rule.

THIS = ( MODEL(
            [Revenue Assumptions]
             ),
            [Account].[Corporate].[Price/Unit] 
        )
           * (MODEL(
                  [Revenue Assumptions]
                  ),
                  [Account].[Corporate].[Room Units] 
              )

With the exception of a rule that is defined as an Allocation type, you can reference only models that have been previously added to the main model, the model that contains the rule.

See Also

Concepts

Primary expressions (PEL)