Функция 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]))