PERCENTILERANK (MDX)
数値を指定した場合、この関数は、セットのすべての要素にわたって、指定された式 (または現在のメジャー) を評価し、その式の百分位数ランク (指定された値以下のパーセント) を返します。
返りタイプ
この関数は、数値を返します。
構文および詳細
PERCENTILERANK(set_expression, numeric_expression, comparison_value)
以下は、この指定の説明です。
-
set_expression は、セットに対して評価される式です。このセットは通常、メンバまたはタプルのセットです。
-
numeric_expression は、セット要素ごとにこの関数が評価する数値式です。
通常、この式の形式は、[MEASURES].[measure_name] です。
-
comparison_value は、すべてのセット・メンバの数値式をシステムが比較する際に対象とする値を表す数値リテラルです。
この関数は、セットの各要素に対して numeric_expression を評価し、その値を comparison_value と比較し、比較値の百分位数ランクを返します。
例
参考として、以下のクエリは、aged.year レベルのメンバに関する、Patient Count メジャーを示します。ORDER 関数は、このクエリの今後の結果と比較しやすくするために、これらのメンバを Patient Count の値の順に並べ替えます。
SELECT MEASURES.[%COUNT] ON 0, ORDER(birthd.year.MEMBERS,MEASURES.[%COUNT],BASC) ON 1 FROM patients
Patient Count
1 1916 1
2 1921 1
3 1922 1
4 1925 1
5 1941 1
6 1914 2
7 1918 2
8 1920 3
9 1927 3
10 1931 3
11 1934 3
12 1926 4
13 1932 4
14 1949 4
15 1955 4
16 1956 4
17 1928 5
18 1930 5
19 1937 5
20 1938 5
21 1966 5
22 1929 6
23 1940 6
24 1952 6
25 1939 7
...
93 2003 23
94 1977 25
次に、以下のクエリは、5 人の患者がいるメンバの百分位数ランクを示します。
SELECT PERCENTILERANK(birthd.year.MEMBERS,MEASURES.[%Count],5) ON 1 FROM patients
Rank of 5 19.68
つまり、患者数が 5 人以下の誕生年は、年セットの 19.68% となります。