Max
Max() находит наибольшее значение агрегированных данных. Если указать rank n, можно найти наибольшее n-ное значение. Синтаксис:
Max([{SetExpression}] [DISTINCT] [TOTAL [<fld {,fld}>]] expr [,rank])
Возвращаемые типы данных: числовое значение
Аргументы:
- expr: Выражение или поле, содержащее данные для измерения.
- rank: По умолчанию значение rank — 1, что соответствует наибольшему значению. При указании для rank значения 2 будет возвращено второе наибольшее значение. Если rank имеет значение 3, будет возвращено третье наибольшее значение, и т. д.
- SetExpression: По умолчанию функция агрегирования агрегирует множество возможных записей, определенных выборкой. Альтернативный набор записей может быть определен набором выражений анализа.
- TOTAL: Если слово TOTAL стоит перед аргументами функции, вычисление выполняется по всем возможным значениям, указанным в текущих выборках, а не только в тех, которые относятся к значению текущего измерения, т. е. измерения диаграммы игнорируются. После префикса TOTAL может быть указан список, включающий одно или несколько имен полей в угловых скобках <fld>. Эти имена полей должны быть поднабором переменных измерений диаграммы.
Примеры:
Пример | Результат |
---|---|
Max(UnitSales) | Значение 10, поскольку это наибольшее значение в элементе UnitSales. |
Значение порядка вычисляется из числа проданных единиц в элементе (UnitSales), умноженного на стоимость единицы. Max(UnitSales*UnitPrice) | Значение 150, поскольку это наибольшее значение, полученное в результате вычисления всех возможных значений элементов (UnitSales)*(UnitPrice). |
Max(UnitSales, 2) | Значение 9, которое является вторым наибольшим значением. |
Max(TOTAL UnitSales) | Значение 10, поскольку классификатор TOTAL означает, что обнаружено наибольшее возможное значение без учета измерений диаграммы. Для диаграммы с элементом Customer в качестве измерения классификатор TOTAL обеспечит возврат максимального значения по всему набору данных вместо максимального значения UnitSales для каждого клиента. |
Выполните выборку Customer B. Max({1} TOTAL UnitSales) | Значение 10, независимо от сделанной выборки, поскольку выражение Set Analysis expression {1} определяет порядок записей для оценки в качестве элемента ALL, независимо от выборки. |
Данные, используемые в примерах:
ProductData:
LOAD * inline [
Customer|Product|UnitSales|UnitPrice
Astrida|AA|4|16
Astrida|AA|10|15
Astrida|BB|9|9
Betacab|BB|5|10
Betacab|CC|2|20
Betacab|DD||25
Canutility|AA|8|15
Canutility|CC||19
] (delimiter is '|');
Customer | Product | UnitSales | UnitPrice |
---|---|---|---|
Astrida | AA | 4 | 16 |
Astrida | AA | 10 | 15 |
Astrida | BB | 9 | 9 |
Betacab | BB | 5 | 10 |
Betacab | CC | 2 | 20 |
Betacab | DD | - | 25 |
Canutility | AA | 8 | 15 |
Canutility | CC | - | 19 |