TOPN
傳回所指定資料表的前 N 個資料列。
語法
TOPN(<N_Value>, <Table>, <OrderBy_Expression>, [<Order>[, <OrderBy_Expression>, [<Order>]]…])
參數
參數 | 定義 |
---|---|
N_Value |
要傳回的資料列數目。 傳回純量值的任何 DAX 表示式,其中表達式會評估多次(針對每個數據列/內容)。 請參閱,以進一步了解傳回的數據列數目可能大於 n_value 。 |
Table |
從何處擷取頂端 'n' 數據列的任何 DAX 表達式。 請參閱<備註>,以深入了解何時會傳回空的資料表。 |
OrderBy_Expression |
(選擇性)任何 DAX 表示式,其中結果值是用來排序數據表,並針對 table 的每個數據列進行評估。 |
Order |
(選擇性)值,指定如何排序 OrderBy_Expression 值:- 0 (零) 或 FALSE 。 以 Order 值的遞減順序排序。 省略 Order 參數時的預設值。 - 1 或 TRUE 。 依遞增順序排列 OrderBy 。 |
傳回值
如果 N_Value
為0(零)或更少,則為 Table
前 N 個數據列的數據表或空白數據表。 數據列不會以任何特定順序排序。
備註
如果有系結,在
Order_By
值,在數據表的第 N 個數據列,則會傳回所有系結的數據列。 然後,當第 N 個資料列有繫結時,函式可能會傳回超過 n 個資料列。如果N_Value為0(零)或更少,TOPN 會傳回空白數據表。
TOPN 不保證結果的任何排序順序。
在匯出數據行或數據列層級安全性 (RLS) 規則中使用時,不支援在 DirectQuery 模式中使用此函式。
範例
下列量值公式會依銷售金額傳回前 10 個銷售產品。
= SUMX(
TOPN(
10,
SUMMARIZE(
InternetSales,
InternetSales[ProductKey],
"TotalSales", SUM(InternetSales[SalesAmount])
),
[TotalSales], DESC
),
[TotalSales]
)