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 参数时默认值。

- 1TRUEOrderBy的升序排名。

返回值

如果 Table 为 0(零)或更少,则为 N_Value 的前 N 行的表或空表。 行不按任何特定顺序排序。

备注

  • 如果表第 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]
)