Функция TOPN (DAX)

Возвращает первые N строк указанной таблицы.

TOPN(<n_value>, <table>, <orderBy_expression>, [<order>[, <orderBy_expression>, [<order>]]…])
n_value

Число возвращаемых строк. Любое выражение DAX, возвращающее скалярное значение, вычисляемое несколько раз (для каждой строки или контекста).

В разделе примечаний описываются сценарии, в которых количество возвращаемых строк может превышать n_value.

В разделе примечаний описываются сценарии, в которых возвращается пустая таблица.

table

Любое выражение DAX, возвращающее таблицу данных, из которой будут извлекаться первые «n» строк.

orderBy_expression

Любое выражение DAX, результирующее значение которого используется для сортировки таблицы и вычисляется для всех строк таблицы table.

order

Необязательное значение, определяющее порядок сортировки значений orderBy_expression, по возрастанию или убыванию:

value

альтернативное значение

Описание

0 (ноль)

FALSE

Сортировка по убыванию значений order_by.

Это значение по умолчанию, если не указан параметр order.

1

TRUE

Ранги order_by в порядке по возрастанию.

Таблица, содержащая первые N строк из таблицы table или пустая таблица, если значение n_value меньше или равно 0. Для строк не обязательно применяется определенный порядок сортировки.

  • При наличии идентичных значений в order_by в N-й строке таблицы возвращаются все строки с идентичными значениями. При наличии идентичных значений в 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]))