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