Max() находит наибольшее значение агрегированных данных. Если указать rank n, можно найти наибольшее n-ное значение.
Примечание к подсказкеДавайте также посмотрим на элементы FirstSortedValue и RangeMax, которые имеют одинаковую функциональность в отношении функции Max.
Выражение или поле, содержащее данные для измерения.
rank
По умолчанию значение rank — 1, что соответствует наибольшему значению. При указании для rank значения 2 будет возвращено второе наибольшее значение. Если rank имеет значение 3, будет возвращено третье наибольшее значение, и т. д.
SetExpression
По умолчанию функция агрегирования агрегирует множество возможных записей, определенных выборкой. Альтернативный набор записей может быть определен выражением анализа множества.
TOTAL
Если слово TOTAL стоит перед аргументами функции, вычисление выполняется по всем возможным значениям, указанным в текущих выборках, а не только в тех, которые относятся к значению текущего измерения, т. е. измерения диаграммы игнорируются.
При использовании выражения TOTAL [<fld {.fld}>], где префикс TOTAL предшествует списку из одного или нескольких имен полей, выступающих в качестве подмножества переменных измерения диаграммы, создается подмножество всех возможных значений.
Max(UnitSales*UnitPrice) Значение суммы заказа вычисляется путем умножения количества проданных единиц в элементе (UnitSales) на стоимость единицы.
Возвращает наибольшее значение, полученное в результате вычисления всех возможных значений произведения (UnitSales)*(UnitPrice).
Max(UnitSales, 2)
Возвращает значение для второго наибольшего значения.
Max(TOTAL UnitSales)
Квалификатор TOTAL означает, что обнаружено наибольшее возможное значение без учета измерений диаграммы. Для диаграммы с измерением Customer квалификатор TOTAL обеспечит возврат максимального значения по всему набору данных вместо максимального значения UnitSales для каждого клиента.
Max({1} TOTAL UnitSales)
Выражение анализа множеств {1} определяет набор записей для оценки в качестве ALL, независимо от выборки. Например, если выбран конкретный клиент, все равно будет возвращено максимальное значение UnitSales по всему набору данных.
Пример. Основы использования функции Max
Обзор
Набор данных содержит показатели продаж товаров по месяцам. Требуется определить максимальную сумму продаж для каждого продукта и месяц, когда она зарегистрирована.
Откройте редактор загрузки данных и добавьте приведенный ниже скрипт загрузки на новую вкладку.
Скрипт загрузки содержит следующее:
Набор данных, который загружается в таблицу данных под именем Example.
Загрузите данные и откройте лист. Создайте новую таблицу и добавьте это поле как измерение:
Customer
Создайте следующие меры:
=Max(UnitSales), чтобы вычислить максимальное значение UnitSales.
=Max(UnitSales*UnitPrice), чтобы вычислить максимальное значение после умножения UnitSales на UnitPrice в каждой строке.
=Max(UnitSales, 2), чтобы вычислить второе наибольшее значение.
=Max(TOTAL UnitSales), чтобы вычислить наибольший итог независимо от измерения диаграммы.
=Max({1} TOTAL UnitSales), чтобы вычислить наибольший итог, независимо от всех выборок.
Results table
Customer
Max(UnitSales)
Max(UnitSales*UnitPrice)
Max(UnitSales, 2)
Max(TOTAL UnitSales)
Max({1} TOTAL UnitSales)
Totals
10
150
9
10
10
Astrida
10
150
9
10
10
Betacab
5
50
2
10
10
Canutility
8
120
-
10
10
В этом примере обратите внимание на следующие данные:
В первой мере (Max(UnitSales)) наибольшее значение UnitSales для клиента Astrida составляет 10. Ячейка Totals в этом столбце возвращает значение 10, потому что оно также является самым высоким значением UnitSales во всем наборе данных.
Во второй мере (Max(UnitSales*UnitPrice)) 150 возвращается для Astrida. Это наибольшее значение для данного клиента при умножении UnitSales на UnitPrice. Ячейка Totals в этом столбце тоже возвращает значение 150, потому что оно также является самым высоким вычисленным значением во всем наборе данных.
В третьей мере (Max(UnitSales, 2)) второе наибольшее значение UnitSales для клиента Astrida составляет 9. Кроме того, это значение является вторым по величине среди всех трех клиентов, поэтому строка Totals также возвращает 9.
Четвертая мера (Max(TOTAL UnitSales)) возвращает значение 10. Это наибольшее значение, найденное независимо от измерения customer (клиент), поэтому все строки возвращают одно и то же значение. Однако если выбрать клиента Betacab, таблица вернет только значения для этого клиента, в данном случае 5, потому что это наибольшее значение UnitSales среди всех продуктов для Betacab.
Пятая мера (Max({1} TOTAL UnitSales)) возвращает значение 10 независимо от выбранного значения Customer, потому что используется модифицированное множество {1}. Например, если выбрать Betacab, этот столбец будет по-прежнему возвращать значение 10.
Пример. Сценарий использования функции Max для вычисления наибольшей суммы продаж по месяцам
Обзор
Набор данных содержит показатели продаж товаров по месяцам. Менеджеру по продажам требуется определить максимальную сумму продаж для каждого продукта и месяц, когда она зарегистрирована.
Откройте редактор загрузки данных и добавьте приведенный ниже скрипт загрузки на новую вкладку.
Скрипт загрузки содержит следующее:
Набор данных, который загружается в таблицу данных под именем Example.
Загрузите данные и откройте лист. Создайте новую таблицу и добавьте эти поля как измерения:
Product
Month
Создайте следующие меры:
=If(Sales = Max(TOTAL <Product> Sales), Sales), чтобы вычислить максимальный объем продаж для каждого продукта. На панели свойств меры выберите Дополнения > Обработка данных. Снимите флажок Включить нулевые значения, чтобы удалить все нулевые значения.
Results table
Product
Month
If(Sales = Max(TOTAL <Product> Sales), Sales)
A
2024-02-01
700
B
2024-02-01
800
C
2024-03-01
710
Результаты меры возвращают максимальную сумму продаж для каждого продукта и месяц, в котором это значение было достигнуто. Например, для Product B были самые высокие продажи (800) в 2024-02-01.
Если вы обнаружили какую-либо проблему на этой странице и с ее содержанием — будь то опечатка, пропущенный шаг или техническая ошибка, сообщите нам об этом, чтобы мы смогли ее исправить!