Rank
セット内のタプルの数値位置を返します。
構文
Rank ( member_or_tuple, set [,numeric_value_expr [,ORDINALRANK | DENSERANK | PERCENTRANK ]] )
パラメータ
ノート
この関数は、集約ストレージ・データベースにのみ適用できます。
数値式が指定されていない場合、この関数はセット内のタプルの1から始まる位置を返します。
数値式が指定されている場合、この関数は数値に基づいてセットをソートし、ソートされたセット内のタプルの1から始まる位置を返します。
オプションのランク・フラグが指定されている場合、この関数は数値に基づいてセットをソートし、フラグの指示に従ってソートされたセット内のタプルの1から始まる位置を返します。 フラグの意味は次のとおりです:
-
[no flag]: デフォルトの動作。 タイには同じランクが与えられ、次のメンバーはメンバーの数です。 例:(1,1,1,4,5)
-
ORDINALRANK: タイはEssbaseによって決定されます。 重複は異なるエンティティとみなされます。 例: (1,2,3,4,5)
-
DENSERANK: タイには同じランクが与えられますが、序数にギャップはありません。 例: (1,1,1,2,3)
-
PERCENTRANK: ランク値は、このメンバーまでの累積合計によってスケール・アップされます。 例: (.1, .15, .34, .78, 1.0). 値の範囲は、0.0から1.0です。
この関数がセットをソートする場合、タプルを降順にソートし、その順序に基づいてランクを割り当てます(最大値のランクは1です)。
例
例 1
WITH MEMBER [Measures].[Units_Rank] AS
'Rank(Products.CurrentMember, Products.CurrentMember.Siblings)'
SELECT
{Units, [Price Paid], [Units_Rank]}
ON COLUMNS,
{ Products.Members } ON ROWS
FROM ASOSamp.Sample;
例 2
WITH MEMBER [Measures].[Units_Rank] AS
'Rank( Products.CurrentMember, Products.CurrentMember.Siblings)'
SELECT {Units, [Measures].[Units_Rank]}
ON COLUMNS,
Union(Children([Televisions]),
Children([Radios]))
ON ROWS
FROM ASOSamp.Sample;