TOPN
返回指定表的前 N 行。
语法
TOPN(<n_value>, <table>, <orderBy_expression>, [<order>[, <orderBy_expression>, [<order>]]…])
parameters
参数 | 定义 |
---|---|
n_value | 要返回的行数。 返回标量值的任何 DAX 表达式,该表达式将被计算多次(针对每行/上下文)。 请参阅“备注”,进一步了解返回的行数什么时候可能大于 n_value。 |
表 | 返回从中提取前“n”行的数据表的任何 DAX 表达式。 请参阅“备注”,进一步了解何时返回空表。 |
orderBy_expression | 结果值用于对表进行排序并针对表的每行进行计算的任何 DAX 表达式。 |
顺序 | (可选)用于指定 orderBy_expression 值的排序方式的值: - 0(零)或 FALSE。 对 order_by 的值进行降序排序。 当省略 order 参数时,使用默认值。 - 1 或 TRUE。 对 order_by 进行升序排序。 |
返回值
一个由 table 的前 N 行组成的表,或者如果 n_value 为 0(零)或更小,则为空表。 行不按任何特定顺序排序。
备注
如果在表的第 N 行 order_by 值存在关联,则返回所有关联的行。 因此,在第 N 行有关联时,函数可能返回多于 n 行。
如果 n_value 为 0(零)或更小,则 TOPN 将返回一个空表。
TOPN 不保证结果的任何排序顺序。
在已计算的列或行级安全性 (RLS) 规则中使用时,不支持在 DirectQuery 模式下使用此函数。
示例
下面的公式使用销售量排名前 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]) ) ) )