MDX Member Value Expressions
Member value expressions identify the elements of the members dimension. The construct is as follows:
<member_value_expression> ::= <member>.{PARENT | FIRSTCHILD | LASTCHILD
| PREVMEMBER | NEXTMEMBER}
| <member>.LEAD(<index>)
| <member>.LAG(<index>)
Note
LAG(<index>) is the same as LEAD(?<index>)
| <member>.{FIRSTSIBLING | LASTSIBLING}
| <dimension>[.CURRENTMEMBER]
| <dimension>.DEFAULTMEMBER
| <hierarchy>.DEFAULTMEMBER
| ANCESTOR(<member>, <level>)
| CLOSINGPERIOD(<level>[, <member>])
| COUSIN(<member>, <member>)
| OPENINGPERIOD(<level>[, <member>])
| PARALLELPERIOD([<level>[, <index>
[, <member>]]])
The following table identifies and describes the elements of a member value expression.
Element |
Description |
---|---|
<member>.{PARENT} |
Names the parent of a member. |
<member>.{FIRSTCHILD} |
Returns the first child of a member according to an implicit natural order. (The children of any member are arranged along this natural order.) |
<member>.{LASTCHILD} |
Names the last child of a member according to the natural order. |
<member>.{PREVMEMBER} |
Names the previous member along the level implied by <member>. |
<member>.{NEXTMEMBER} |
Names the next member along the level implied by <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, 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 of the <member>. For example,
returns April, and the expression
returns June (assuming that the parent level is Quarters). |
Consumers can check the value of the property MDPROP_MDX_MEMBER_FUNCTIONS to see whether a provider supports these expressions.