共用方式為


RANKX

適用於:導出數據行計算數據表Measure視覺計算

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

語法

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

參數

table 傳回評估表示式之數據表的任何 DAX 表達式。

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

value (選擇性) 傳回單一純量 valuerank 找到的任何 DAX 表達式。 請參閱一節,以了解表達式中找到 valuenot 時函式的行為。

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

order (選擇性) 指定如何 rankvalue、低至高 or 高至低 value:

value 替代 value 描述
0 (zero) FALSE 依表達式 values 的遞減順序排名。 If value 等於表達式中最高的數位,然後 RANKX 傳回 1。

這是省略 order 參數時的預設 value。
1 TRUE 依運算式的遞增順序排名。 If value 等於表達式中最低的數位,RANKX 會傳回 1。

ties (選擇性) 列舉,定義如何在有系結時判斷排名。

列舉 描述
Skip next rank value,在平局之後,是平局的 rankvalue 加上系結 count的 values。 例如,if 五(5)個 values 與 11 的 rank 系結,則 nextvalue 會收到 16 (11 + 5) 的 rank。

這是省略 value 參數時的預設 ties
Dense next rank value,在平局之後,是 nextrankvalue。 例如,if 五(5)個 values 與 11 的 rank 系結,則 nextvalue 會收到 12 的 rank。

傳回 value

針對 rank 數位 value 數據列評估的 allvaluesexpressionalltable 數目。

備註

  • If expression or value 會評估為 BLANK 它被視為產生數位之 all 表達式的 0(零),or 為 all 文字表達式的空文字。

  • If value 在 notall 可能 values 之間 expression,然後 RANKX 暫時從 valuevalues 重新評估 expression 將 and 新增至 RANKX,以判斷 rank的適當 value

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

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

  • 在匯出數據行中使用 not 數據列層級安全性 (RLS) 規則時,支援此函式 or 用於 DirectQuery 模式。

範例

Products 數據表中的下列匯出數據行會計算因特網通道中每個 product 的銷售排名。

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