Quick Function Reference (MDX)
The following table summarizes the syntax and return type of each supported MDX function in Business Intelligence.
| Function | Syntax | Return Type |
|---|---|---|
| %ALL | member_expression.%ALL | member |
| %CELL | %CELL(relative_column_position, relative_row_position) | number or string |
| %CELLZERO | %CELLZERO(relative_column_position, relative_row_position) | number or string |
| %FIRST | %FIRST(set_expr, optional_numeric_expr) | number |
| %KPI | %KPI(kpi_name, kpi_prop_name, kpi_series_name, parm, value, parm, value,...) | number |
| %LABEL | %LABEL(MDX_expr, label, format_details, solve_order, cell_style, heading_style) | same as MDX_expr |
| %LAST | %LAST(set_expr, optional_numeric_expr) | number |
| %LIST | %LIST(set_expr) | string (comma-separated list) |
| %LOOKUP | %LOOKUP(termlist, key, field, default) | number or string |
| %MDX | %MDX(“MDX select query”, parm, value, parm, value, parm, value,...) | number or string |
| %NOT | member_expression.%NOT | member |
| %OR | %OR(set_expr) | member |
| %SEARCH | %SEARCH.&[comparison_expression] | measure search expression |
| %SPACE | %SPACE() | empty space |
| %TERMLIST | %TERMLIST(term_list_name, INCLUDE | EXCLUDE) | set |
| %TIMERANGE | %TIMERANGE(start_member, end_member, INCLUSIVE | EXCLUSIVE) | member |
| %TIMEWINDOW | %TIMEWINDOW(set_expr, start_member, optional_end_member) | set of members |
| %TOPMEMBERS |
level_expr.%TOPMEMBERS hierarchy_expr.%TOPMEMBERS dimension_expr.%TOPMEMBERS |
set of members |
| AGGREGATE | AGGREGATE(set_expr, optional_numeric_expr) | number |
| ALLMEMBERS |
level_expr.ALLMEMBERS hierarchy_expr.ALLMEMBERS dimension_expr.ALLMEMBERS |
set of members |
| ANCESTOR | ANCESTOR(member_expr, ancestor_level) | member |
| AVG | AVG(set_expr, optional_numeric_expr) | number |
| BOTTOMCOUNT | BOTTOMCOUNT(set_expr, element_count, optional_ordering_expr) | set of members or tuples |
| BOTTOMPERCENT | BOTTOMPERCENT(set_expr, element_count, optional_ordering_expr) | set of members or tuples |
| BOTTOMSUM | BOTTOMSUM(set_expr, element_count, optional_ordering_expr) | set of members or tuples |
| CHILDREN | member_expr.CHILDREN | set of members |
| CLOSINGPERIOD | CLOSINGPERIOD(ancestor_level, member_expr) | member |
| COUNT |
COUNT(set_expr) COUNT(set_expr, EXCLUDEEMPTY) |
number |
| COUSIN | COUSIN(member_expr, higher_member_expr) | member |
| CROSSJOIN |
CROSSJOIN(set_expr1, set_expr2) NON EMPTY CROSSJOIN(set_expr1, set_expr2) |
set of tuples |
| CURRENTMEMBER |
hierarchy_expr.CURRENTMEMBER dimension_expr.CURRENTMEMBER |
member |
| DESCENDANTS | DESCENDANTS(member_expression, level_expression, OPTIONAL_FLAG)
DESCENDANTS(member_expression, level_offset, OPTIONAL_FLAG) |
set of members |
| DISTINCT | DISTINCT(set_expr) | set |
| EXCEPT |
EXCEPT(set_expr1, set_expr2, ALL) EXCEPT(set_expr1,set_expr2) |
set |
| FILTER | FILTER(set_expr, logical_expr) | set |
| FIRSTCHILD | member_expr.FIRSTCHILD | member |
| FIRSTSIBLING | member_expr.FIRSTSIBLING | member |
| HEAD | HEAD(set_expr, optional_integer_expr, optional_sample_flag) | set |
| HIERARCHIZE, HIERARCHISE |
HIERARCHIZE(set_expr) HIERARCHIZE(set_expr, POST) |
set of members |
| IIF | IIF(logical_expr, expression1, expression2) | number or string |
| INTERSECT | INTERSECT(set_expr1, set_expr2) | set |
| ISNULL | ISNULL(scalar_expression,scalar_value_if_null) | number or string |
| LAG | member_expr.LAG(optional_nonnegative_integer_expr) | member |
| LASTCHILD | member_expr.LASTCHILD | member |
| LASTSIBLING | member_expr.LASTSIBLING | member |
| LEAD | member_expr.LEAD(optional_nonnegative_integer_expr) | member |
| LOG | LOG(numeric_expr) | number |
| LOOKUP | LOOKUP(term_list_name, lookup_value, default, alternative_field) | string |
| MAX | MAX(set_expr, optional_numeric_expr) | number |
| MEDIAN | MEDIAN(set_expr, optional_numeric_expr) | number |
| MEMBERS |
level_expr.MEMBERS hierarchy_expr.MEMBERS dimension_expr.MEMBERS |
set of members |
| MIN | MIN(set_expr, optional_numeric_expr) | number |
| NEXTMEMBER | member_expr.NEXTMEMBER | member |
| NONEMPTYCROSSJOIN | NONEMPTYCROSSJOIN(set_expr1, set_expr2) | set of tuples |
| OPENINGPERIOD | OPENINGPERIOD(ancestor_level, member_expr) | member |
| ORDER |
ORDER(set_expr, ordering_expr, ASC | DESC | BASC | BDESC) ORDER(set_expr, ordering_expr) |
set |
| PARALLELPERIOD | PARALLELPERIOD(level_expr, offset, member_expr) | member |
| PARENT | member_expr.PARENT | member |
| PERCENTILE | PERCENTILE(set_expr, numeric_expr, numeric_expr, optional_percentile_value) | number |
| PERCENTILERANK | PERCENTILERANK(set_expr, numeric_expr, comparison_value) | number |
| PERIODSTODATE | PERIODSTODATE(ancestor_level, member_expr) | set of members |
| POWER | POWER(numeric_expr,numeric_expr_for_power) | number |
| PREVMEMBER | member_expr.PREVMEMBER | member |
| PROPERTIES | member_expr.PROPERTIES(property_name) | string |
| RANK | RANK(tuple_expr, set_expr, optional_numeric_expr) | number |
| ROUND | ROUND(numeric_expr,decimal_places) | number |
| SIBLINGS | member_expr.SIBLINGS | set of members |
| SQRT | SQRT(numeric_expr) | number |
| STDDEV, STDEV | STDDEV(set_expr, optional_numeric_expr) | number |
| STDDEVP, STDEVP | STDDEVP(set_expr, optional_numeric_expr) | number |
| SUBSET | SUBSET(set_expr, first_element_expr, optional_element_count) | set |
| SUM | SUM(set_expr, optional_numeric_expr) | number |
| TAIL | TAIL(set_expr, optional_integer_expr) | set |
| TOPCOUNT | TOPCOUNT(set_expr, element_count, optional_ordering_expr) | set of members or tuples |
| TOPPERCENT | TOPPERCENT(set_expr, element_count, optional_ordering_expr) | set of members or tuples |
| TOPSUM | TOPSUM(set_expr, element_count, optional_ordering_expr) | set of members or tuples |
| UNION |
UNION(set_expr1,set_expr2) UNION(set_expr1,set_expr2, ALL) |
set |
| VAR, VARIANCE | VAR(set_expr, optional_numeric_expr) | number |
| VARP, VARIANCEP | VARP(set_expr, optional_numeric_expr) | number |
| VISUALTOTALS | VISUALTOTALS(set_expr, optional_parent_name_pattern) | set of members |