ORDER (MDX)
返りタイプ
この関数は、セットを返します。
構文および詳細
ORDER(set_expression, ordering_expression, optional_keyword)
以下は、この指定の説明です。
-
set_expression は、セットに対して評価される式です。このセットとは通常、メンバのセットです。
-
ordering_expression は、セット要素の順序を決定する数値式または文字列式です。
数値の場合、ordering_expression は通常、[MEASURES].[measure_name] です。
この関数は、セットの各要素に対してこの式を評価し、セットの要素をこの値に従って並べ替えます。
-
optional_keyword は、セット内に階層があった場合に、MDX でどのように処理するかを制御します。以下のキーワードのいずれかを使用します。
-
ASC — これを使用すると、階層を保持したまま、(ordering_expression で返された値を使用して) 昇順で並べ替えが行われます。階層順の詳細は、"HIERARCHIZE" を参照してください。
この関数では、キーワードを省略すると、この方法で並べ替えられます。
-
DESC — これを使用すると、階層を保持したまま、(ordering_expression で返された値を使用して) 降順で並べ替えが行われます。
-
BASC — これを使用すると、階層は保持されず、(ordering_expression で返された値を使用して) すべてのメンバが昇順で並べ替えられます。
-
BDESC — これを使用すると、階層は保持されず、(ordering_expression で返された値を使用して) すべてのメンバが降順で並べ替えられます。
-
例
例えば、以下のクエリは、市町村を平均テスト・スコアで降順に並べ替え、各市町村が属する郵便番号を保持します。
SELECT MEASURES.[avg test score] ON 0,
ORDER(homed.city.MEMBERS, MEASURES.[avg test score], DESC) ON 1 FROM patients
Avg Test Score
1 Pine 75.67
2 Magnolia 74.65
3 Cypress 74.61
4 Centerville 74.85
5 Cedar Falls 74.62
6 Elm Heights 74.36
7 Juniper 74.52
8 Spruce 74.14
9 Redwood 74.16
この例で使用されている階層を図で参照するには、FIRSTCHILD 関数を参照してください。
一方、以下の例では、BDESC キーワードを使用し、階層は無視しています。
SELECT MEASURES.[avg test score] ON 0,
ORDER(homed.city.MEMBERS, MEASURES.[avg test score], BDESC) ON 1 FROM patients
Avg Test Score
1 Pine 75.67
2 Centerville 74.85
3 Magnolia 74.65
4 Cedar Falls 74.62
5 Cypress 74.61
6 Juniper 74.52
7 Elm Heights 74.36
8 Redwood 74.16
9 Spruce 74.14
別の例として、以下のクエリは、文字列メジャーを (計算メンバとして) 定義し、これを ORDER 関数で使用します。
WITH MEMBER measures.stringtest AS 'IIF(MEASURES.[avg test score]<75, "low","high")'
SELECT {MEASURES.[avg test score],MEASURES.stringtest} on 0,
ORDER(homed.city.MEMBERS,measures.stringtest,BASC) ON 1 FROM patients
Avg Test Score stringtest
1 Pine 75.67 high
2 Cedar Falls 74.62 low
3 Centerville 74.85 low
4 Cypress 74.61 low
5 Elm Heights 74.36 low
6 Juniper 74.52 low
7 Magnolia 74.65 low
8 Redwood 74.16 low
9 Spruce 74.14 low