TOPN

适用于:计算列计算表Measure视觉计算

返回指定表的前 N 行。

语法

TOPN(<N_Value>, <Table>, <OrderBy_Expression>, [<Order>[, <OrderBy_Expression>, [<Order>]]…])  

参数

参数 定义
N_Value 要返回的行数。 返回标量 value的任何 DAX 表达式,其中表达式将多次计算(对于每行/上下文)。 请参阅“备注”,以更好地了解返回的行数何时可能大于 n_value
Table 返回从中提取前“n”行的数据表的任何 DAX 表达式。 请参阅“备注”,进一步了解何时返回空表。
OrderBy_Expression (可选)任何 DAX 表达式,其中结果 value 用于对 table的每一行计算的表进行排序 and。
Order (可选)一个指定如何对 OrderBy_Expressionvalues进行排序的 value:

- 0(零)orFALSE。 按 Ordervalues 降序排序。 省略 Order 参数时默认值。

- 1 or TRUEOrderBy的升序排名。

返回 value

Table or 空表 ifN_Value 前 N 行为 0(零)的表,or 更少。 行 not 按任何特定顺序排序。

备注

  • If 表中第 N 行有一个平局,Order_Byvalues,然后返回 all 绑定行。 因此,在第 N 行有关联时,函数可能返回多于 n 行。

  • If N_Value 小于 0(零)or,TOPN 返回空表。

  • TOPN 确实 not 保证结果的任何排序顺序。

  • 在计算列 or 行级别安全性 (RLS) 规则中使用时,not 支持在 DirectQuery 模式下使用此函数。

示例

以下 measure 公式按销售金额返回前 10 种销售产品。

= SUMX(
        TOPN(
            10, 
            SUMMARIZE(
                    InternetSales, 
                    InternetSales[ProductKey], 
                    "TotalSales", SUM(InternetSales[SalesAmount])
            ),
            [TotalSales], DESC
        ),
        [TotalSales]
)