Order
The MDX Order function for Essbase sorts members of a set in order based on an expression.
Syntax
Order ( set, string_expr | numeric_value_expression [,BASC | BDESC] )
Parameters
- set
-
The set to sort.
- string_expr
-
String sorting criteria.
- numeric_value_expression
-
Numeric sorting criteria (see MDX Grammar Rules).
- BASC
-
If this keyword is used, the returned set is arranged in ascending order. Ascending order is the default even if no keyword is used.
- BDESC
-
If this keyword is used, the returned set is arranged in descending order.
Notes
This function ignores missing values.
Example
The following query displays budgeted Sales and Marketing in Qtr2, and the display of products is sorted based on ascending Actual Sales in Qtr1.
SELECT
CrossJoin(
{[Scenario].[Budget]},
{[Measures].[Marketing], [Measures].[Sales]}
)
ON COLUMNS,
Order(
[Product].Levels(0).Members,
([Year].[Qtr1], [Scenario].[Actual])
)
ON ROWS
FROM Sample.Basic
WHERE ([Year].[Qtr2])
This query returns the grid:
Table 4-119 Output Grid from MDX Example
(axis) | Budget | Budget |
---|---|---|
(axis) | Marketing | Sales |
400-30 | 510 | 3240 |
100-30 | 450 | 3400 |
300-20 | 550 | 3800 |
200-40 | 310 | 2830 |
200-30 | 550 | 4060 |
100-20 | 1160 | 8800 |
100-20 | 1160 | 8800 |
200-10 | 2090 | 10330 |
400-20 | 880 | 6590 |
300-10 | 1450 | 10080 |
300-30 | 1080 | 7880 |
300-30 | 1080 | 7880 |
400-10 | 790 | 7410 |
200-20 | 1080 | 9590 |
200-20 | 1080 | 9590 |
100-10 | 1800 | 17230 |