Set Value Expression

<index> ::= <numeric_value_expression>

Note   <index> denotes an integer argument. If an arbitrary <numeric_value_expression> appears here, then it is truncated to the nearest integer.

 
<percentage> ::= <numeric_value_expression>

<set_value_expression> ::= <dim_hier>.MEMBERS
                         | <level>.MEMBERS
                         | <member>.CHILDREN
                         | BOTTOMCOUNT(<set>, <index> 
                              [, <numeric_value_expression>])
                         | BOTTOMPERCENT(<set>, <percentage>, 
                              <numeric_value_expression>)
                         | BOTTOMSUM(<set>, <numeric_value_expression>, 
                              <numeric_value_expression>)
                         | CROSSJOIN(<set>, <set>)
                         | DESCENDANTS(<member>, <level> [,<desc_flags>])

Note   In the absence of explicit <desc_flags> specification, SELF is the default.

 
                         | DISTINCT(<set>)
                         | DRILLDOWNLEVEL(<set> [, <level>]])
                         | DRILLDOWNLEVELBOTTOM(<set>, <index>
                             [,[<level>] [, <numeric_value_expression>]])
                         | DRILLDOWNLEVELTOP(<set>, <index>[, [<level>] 
                             [, <numeric_value_expression>]])
                         | DRILLDOWNMEMBER(<set>, <set>[, RECURSIVE])
                         | DRILLDOWNMEMBERBOTTOM(<set>, <set>, <index>
                            [, <numeric_value_expression>][, RECURSIVE]])
                         | DRILLDOWNMEMBERTOP(<set>, <set>, <index>
                           [, [<numeric_value_expression>][, RECURSIVE]])
                         | DRILLUPLEVEL(<set>[, <level>]])
                         | DRILLUPMEMBER(<set>, <set>)
                         | EXCEPT(<set>, <set> [, ALL])
                         | EXTRACT(<set>, <dim_hier>[, <dim_hier>...])
                         | FILTER(<set>, <search_condition>)
                         | GENERATE(<set>, <set> [, ALL])
                         | HIERARCHIZE(<set>)
                         | INTERSECT(<set>, <set> [, ALL])
                         | LASTPERIODS(<index> [, <member>])
                         | MTD([<member>])
                         | ORDER(<set>, <value_expression> 
                             [, ASC | DESC | BASC | BDESC])

Note   In the absence of explicit specification, ASC is the default.

 
                         | PERIODSTODATE([<level>[, <member>]])
                         | QTD([<member>])
                         | TOGGLEDRILLSTATE(<set1>, <set2>[, RECURSIVE])

Note   With the exception of CROSSJOIN, all set functions that take more than one <set> argument require that the two set arguments have tuples of the same dimensionality.

 
                         | TOPCOUNT(<set>, <index> 
                             [, <numeric_value_expression>])
                         | TOPPERCENT(<set>, <percentage>, 
                             <numeric_value_expression>)
                         | TOPSUM(<set>, <numeric_value_expression>,  
                             <numeric_value_expression>)
                         | UNION(<set>, <set> [, ALL])
                         | WTD([<member>])
                         | YTD(<member>)

<desc_flags> ::= SELF
               | AFTER
               | BEFORE
               | BEFORE_AND_AFTER
               | SELF_AND_AFTER
               | SELF_AND_BEFORE
               | SELF_BEFORE_AFTER