TOPN

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

Синтаксис

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

Параметры

Параметр Определение
N_Value Количество возвращаемых строк. Любое выражение DAX, возвращающее скалярное значение, в котором выражение вычисляется несколько раз (для каждой строки или контекста). Сведения о том, когда количество возвращаемых строк может быть больше n_value, см. в разделе "Примечания".
Таблица Любое выражение DAX, возвращающее таблицу данных, из которой нужно извлечь первые "n" строк. Сведения о том, когда возвращается пустая таблица, см. в разделе "Примечания".
OrderBy_Expression Любое выражение DAX, в котором значение результата используется для сортировки таблицы и вычисляется для каждой строки table.
Заказ (Необязательно.) Значение, указывающее, как сортировать значения OrderBy_Expression:

- 0 (ноль) или FALSE. Сортировка значений Order в порядке убывания. Задано по умолчанию, если параметр Order опущен.

- 1 или TRUE. Ранжирование OrderBy в порядке возрастания.

Возвращаемое значение

Таблица, содержащая первые N строк таблицы Table, или пустая таблица, если N_Value имеет значение 0 (ноль) или меньше. Строки не сортируются в определенном порядке.

Remarks

  • Если в N-ной строке таблицы имеется связь значений Order_By, то возвращаются все связанные строки. Затем при наличии связей в N-ной строке функция может вернуть более N строк.

  • Если значение Order_By равно 0 (нулю) или меньше, TOPN возвращает пустую таблицу.

  • Функция TOPN не гарантирует порядок сортировки результатов.

  • Эта функция не поддерживается для использования в режиме DirectQuery при использовании в вычисляемых столбцах или правилах безопасности на уровне строк (RLS).

Пример

Следующая формула меры возвращает первые 10 проданных продуктов по объему продаж.

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