閱讀英文

共用方式為


RANKX

適用於:計算結果列匯出數據表量值視覺計算

傳回 table 自變數中每個數據列之數位清單中的數位排名。

語法

RANKX(<table>, <expression>[, <value>[, <order>[, <ties>]]])  

參數

table
任何 DAX 運算式,其會傳回評估運算式的資料表。

expression
傳回單一純量值的任何 DAX 運算式。 表達式會針對 table的每個數據列進行評估,以產生所有可能的排名值。 請參閱一節,以瞭解 expression 評估為BLANK時的函式行為。

value
(選擇性) 任何 DAX 運算式,其會傳回要尋找排名的單一純量值。 請參閱一節,以了解表達式中找不到 value 時函式的行為。

省略 value 參數時,會改用目前數據列的表達式值。

order
(選擇性)值,指定如何排名 value、低到高或高到低:

value 替代值 描述
0 (zero) FALSE 依運算式值的遞減順序排名。 如果值等於運算式中的最高數字,則 RANKX 會傳回 1。

這是省略 order 參數時的預設值。
1 TRUE 依運算式的遞增順序排名。 如果值等於運算式中的最低數字,則 RANKX 會傳回 1。

ties
(選擇性) 定義當有繫結時,如何決定排名的列舉。

列舉 描述
Skip 繫結之後的下一個排名值,是繫結的排名值加上繫結值的計數。 例如,如果五個 (5) 值發生繫結且排名為 11,則下一個值的排名將為 16 (11 + 5)。

當省略 ties 參數時,這是預設值。
Dense 繫結之後的下一個排名值是下一個排名值。 例如,如果五個 (5) 值發生繫結且排名為 11,則下一個值的排名將為 12。

傳回值

針對 table 數位的所有數據列評估 expression 所有可能值之間的 value 排名編號。

備註

  • 如果 expressionvalue 評估為 BLANK,則會將所有產生數位的運算式視為 0(零),或視為所有文字表達式的空白文字。

  • 如果 value 不是 expression 的所有可能值之一,則 RANKX 會暫時將 value 新增至 expression 的值,然後重新評估 RANKX 以判斷 value的適當排名。

  • 選擇性自變數可能會略過,方法是將空的逗號 (,) 放在自變數清單中,例如 RANKX(Inventory, [InventoryCost],,,"Dense")

  • 十進位數 數據類型的值之間的相等比較(=<>>=<=)可能會在使用 RANKX 函式時傳回非預期的結果。 可能會產生不正確的結果,因為具有小數位數資料類型的值會儲存為 IEEE Standard 754 浮點數,而且其精確度有固有限制。 若要避免非預期的結果,請將資料類型變更為固定的小數位數,或使用 ROUND 執行強制四捨五入。

  • 在計算結果欄或資料列層級安全性 (RLS) 規則中使用時,不支援在 DirectQuery 模式中使用此函式。

範例

Products 資料表中下列計算結果欄會計算網際網路通道中每個產品的銷售排名。

= RANKX(ALL(Products), SUMX(RELATEDTABLE(InternetSales), [SalesAmount]))