RANKX
傳回 table
自變數中每個數據列之數位清單中的數位排名。
語法
RANKX(<table>, <expression>[, <value>[, <order>[, <ties>]]])
參數
table
傳回評估表示式之數據表的任何 DAX 表達式。
expression
傳回單一純量 value的任何 DAX 表示式。 表達式會針對 table
的每個數據列進行評估,以 generateall 可能的排名 values。 請參閱一節,以瞭解 expression
評估為 BLANK時的函式行為。
value
(選擇性) 傳回單一純量 valuerank 找到的任何 DAX 表達式。 請參閱一節,以了解表達式中找到 value
not 時函式的行為。
省略 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
數據列評估的 allvaluesexpression
alltable
數目。
備註
If
expression
orvalue
會評估為 BLANK 它被視為產生數位之 all 表達式的 0(零),or 為 all 文字表達式的空文字。If
value
在 notall 可能 values 之間expression
,然後 RANKX 暫時從value
values 重新評估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]))