Поделиться через


TOPN

Область применения: вычисление вычисляемого столбца вычисляемой таблицы Меры визуального элемента

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

Синтаксис

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

Параметры

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

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

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

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

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

Замечания

  • Если в 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]
)