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]
)