TOPN 函數 (DAX)
傳回指定之資料表的前 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 值的值 (遞增或遞減):value
替代值
說明
0 (零)
FALSE
以 order_by 值的遞減順序排序。
這是省略 order 參數時的預設值。
1
TRUE
以 order_by 的遞增順序排列次序。
傳回值
含有 table 中前 N 個資料列的資料表,如果 n_value 為 0 (零) 或更小,則為空白資料表。 資料列不一定會按照任何特定順序排序。
備註
如果資料表中第 N 個資料列的 order_by 值存在繫結,則系統會傳回所有繫結的資料列。 此外,當第 N 個資料列存在繫結時,此函數可能會傳回超過 n 個資料列。
如果 n_value 為 0 (零) 或更小,則 TOPN 會傳回空白資料表。
TOPN 不保證結果的任何排序次序。
範例
下列範例會使用前 10 項暢銷產品的銷售量來建立量值。
=SUMX(TOPN(10, SUMMARIZE(Product, [ProductKey], “TotalSales”, SUMX(RELATED(InternetSales_USD[SalesAmount_USD]), InternetSales_USD[SalesAmount_USD]) + SUMX(RELATED(ResellerSales_USD[SalesAmount_USD]), ResellerSales_USD[SalesAmount_USD]))