MDX Member Specification

In Essbase, member is a named hierarchical element in a database outline. Represent a member in MDX using the following syntax rules.

Syntax

<member> ::= 
           <member-name-specification>
         | <member_value_expression>

Member Name Specification

A member name can be specified in the following ways:

  1. By specifying the actual name or the alias; for example, Cola, Actual, COGS, and [100].

    If the member name starts with number or contains spaces, it should be within brackets; for example, [100]. Brackets are recommended for all member names, for clarity and code readability.

    If the member name starts with an ampersand (&) , it should be within quotation marks; for example, ["&xyz"]. This is because the leading ampersand is reserved for substitution variables. You can also specify it as StrToMbr("&100").

    For attribute members, the long name (qualified to uniquely identify the member) should be used; for example, [Ounces_12] instead of [12].

  2. By specifying dimension name or any one of the ancestor member names as a prefix to the member name; for example, [Product].[100-10] and [Diet].[100-10] This is a recommended practice for all member names, as it eliminates ambiguity and enables you to refer accurately to shared members.

    Note:

    Use only one ancestor in the qualification. Essbase returns an error if multiple ancestors are included. For example, [Market].[New York] is a valid name for New York, and so is [East].[New York]. However, [Market].[East].[New York] returns an error.

  3. By specifying the name of a calculated member defined in the WITH section.

  4. For outlines that have duplicate member names enabled, see also MDX Syntax for Specifying Duplicate Member Names and Aliases.

Member Value Expression

A member value expression is output from any function that returns a member. As an alternative to referencing the member by name or alias, you can use a function that returns a member in place of <member>. For a list of functions that return a member, see MDX Function Return Values.

Unresolved Member Names

If an MDX query contains references to members that do not exist in the outline, the unresolved member names can be skipped so that the query can continue without error. To enable this feature, use the EssOpMdxQuery Java interface or EssMdxSetQueryOptions C API function. Unresolved names are left out from the result grid in cases where non existing members are given on query axes or as parameters to functions.