RANKX
table
引数の各行の数値リスト内の数値のランク付けを返します。
構文
RANKX(<table>, <expression>[, <value>[, <order>[, <ties>]]])
パラメーター
table
式が評価されるデータのテーブルを返す任意の DAX 式です。
expression
1 つのスカラー値を返す任意の DAX 式です。 式は、ランク付けに使用できるすべての値を生成するために、table
の各行に対して評価されます。
expression
が BLANKに評価されたときの関数の動作を理解するには、「解説」セクションを参照してください。
value
(省略可能) ランクが見つかる 1 つのスカラー値を返す任意の DAX 式。 式に value
が見つからない場合の関数の動作については、「解説」セクションを参照してください。
value
パラメーターを省略すると、代わりに現在の行の式の値が使用されます。
order
(省略可能) value
、低から高、低の順にランク付けする方法を指定する値。
価値 | 代替値 | 説明 |
---|---|---|
0 (ゼロ) | FALSE |
式の値の降順でランク付けします。 値が式の中で最も大きい数値と等しい場合、RANKX は 1 を返します。 order パラメーターを省略した場合の既定値です。 |
1 | TRUE |
式の昇順で順位付けます。 値が式の中で最も小さい数値と等しい場合、RANKX は 1 を返します。 |
ties
(省略可能) タイがある場合にランク付けを決定する方法を定義する列挙体。
列挙体 | 説明 |
---|---|
Skip |
タイの後の次のランク値は、タイのランク値に、関連付けられた値の数を加えた値です。 たとえば、5 つの (5) 値がランク 11 に関連付けられている場合、次の値は 16 (11 + 5) のランクを受け取ります。 これは、パラメーター ties 省略した場合の既定値です。 |
Dense |
タイの後の次のランク値は、次のランク値です。 たとえば、5 つの値がランク 11 に関連付けられている場合、次の値は 12 のランクを受け取ります。 |
戻り値
table
数値のすべての行に対して評価される expression
の使用可能なすべての値の中の value
のランク番号。
解説
expression
またはvalue
が BLANK に評価された場合は、数値になるすべての式に対して 0 (ゼロ) として、またはすべてのテキスト式の空のテキストとして扱われます。value
がexpression
のすべての可能な値の中にない場合は、RANKXexpression
の値に一時的にvalue
を追加し、value
の適切なランクを決定するために RANKX を再評価します。省略可能な引数は、引数リストに空のコンマ (,) を配置することによってスキップされる場合があります (例:
RANKX(Inventory, [InventoryCost],,,"Dense")
)。10 進数 データ型の値間の等値関連の比較 (
=
、<
、>
、>=
、および<=
) RANKX 関数を使用すると、予期しない結果が返される可能性があります。 10 進数 データ型の値が IEEE Standard 754 浮動小数点数として格納され、その精度に固有の制限があるため、正しくない結果が発生する可能性があります。 予期しない結果を回避するには、データ型を固定 10 進数に変更するか、 を使用して強制的に丸めます。 この関数は、計算列または行レベル セキュリティ (RLS) 規則で使用する場合、DirectQuery モードでは使用できません。
例
Products テーブルの次の計算列は、インターネット チャネルの各製品の売上ランキングを計算します。
= RANKX(ALL(Products), SUMX(RELATEDTABLE(InternetSales), [SalesAmount]))