Member Value Expressions

<member>.{PARENT | FIRSTCHILD | LASTCHILD | PREVMEMBER | NEXTMEMBER}

PREVMEMBER gives the previous member along the level implied by member.

NEXTMEMBER gives the next member along the level implied by member.

FIRSTCHILD. The children of any member are arranged along an implicit "natural" order, and FIRSTCHILD returns the first child of a member according to this order.

LASTCHILD gives the last child of a member according to the natural order.

PARENT gives the parent of a member.

<member>.LEAD(<index>)

Gives the member that is index positions away along the member’s dimension, in the dimension’s natural order. The numbering of the positions is zero-based.

The function <member>.LAG is similar, except that it looks in the opposite direction. If index is negative, then LEAD becomes LAG and vice versa.

<dimension>[.CURRENTMEMBER]

Gives the current member along dimension. The concept of “currency” occurs in functions such as GENERATE where the semantics include some form of iteration through members of a set.

<member>.{FIRSTSIBLING | LASTSIBLING}

Returns the first/last sibling at the parent level the of member. For example,

May.FIRSTSIBLING

returns April.

The expression

May.LASTSIBLING

returns June (assuming that the parent level is quarters).

ANCESTOR(<member>, <level>)

Returns the ancestor of member at the specified level.

COUSIN(<member>, <ancestor_member>)

This function is best illustrated by an example:

COUSIN([1996].March, [1994])

yields the member [1994].March.