Max — funkcja wykresu

Funkcja Max() zwraca najwyższą wartość z agregowanych danych. Podanie argumentu rank n pozwala na znalezienie n-tej najwyższej wartości.
Porada: Warto zapoznać się z informacjami na temat funkcji FirstSortedValue i rangemax, których działanie jest podobne do działania funkcji Max.

Syntax:  

Max([{SetExpression}] [TOTAL [<fld {,fld}>]] expr [,rank])

Return data type: liczbowy

Arguments:  

ArgumentOpis
exprWyrażenie lub pole zawierające mierzone dane.
rankWartość domyślna argumentu rank wynosi 1, co odpowiada najwyższej wartości. Dla argumentu rank równego 2 zostanie zwrócona druga wartość po wartości najwyższej. Dla argumentu rank równego 3 zostanie zwrócona trzecia wartość po wartości najwyższej itd.
SetExpressionFunkcja agregacji będzie domyślnie dokonywać agregacji na zbiorze możliwych wierszy zdefiniowanym przez selekcję. Alternatywny zestaw wierszy można zdefiniować za pomocą wyrażenia analizy zestawów.
TOTAL

Jeśli słowo TOTAL występuje przed argumentami funkcji, wówczas obliczenie jest wykonywane względem wszystkich możliwych wartości z uwzględnieniem bieżących selekcji, nie tylko tych należących do bieżącej wartości wymiaru, to znaczy z pominięciem wymiarów wykresu.

Korzystając z polecenia TOTAL [<fld {.fld}>], gdzie po kwalifikatorze TOTAL podana jest lista nazw pól stanowiących podzbiór zmiennych wymiarów wykresu, można utworzyć podzbiór wszystkich możliwych wartości.

Określenie zakresu agregacji

Examples and results:  

CustomerProductUnitSalesUnitPrice
AstridaAA416
AstridaAA1015
AstridaBB99
BetacabBB510
BetacabCC220
BetacabDD-25
CanutilityAA815
CanutilityCC-19
PrzykładyWyniki

Max(UnitSales)

10, ponieważ jest to najwyższa wartość w kolumnie UnitSales.

Wartość zamówienia jest obliczana na podstawie liczby sprzedanych jednostek podanej w kolumnie (UnitSales) pomnożonej przez cenę jednostkową.

Max(UnitSales*UnitPrice)

150, ponieważ jest to najwyższa wartość wynikająca z obliczeń dotyczących wszystkich pozostałych danych w ramach formuły: UnitSales*UnitPrice.

Max(UnitSales, 2)

9, czyli druga najwyższa wartość.

Max(TOTAL UnitSales)

10, ponieważ kwalifikator TOTAL informuje o tym, że znaleziono najwyższą możliwą wartość bez uwzględnienia wymiarów wykresu. W przypadku wykresu z wymiarem Customer kwalifikator TOTAL zapewnia, że zwracana jest maksymalna wartość z całego zestawu danych, a nie maksymalna wartość z kolumny UnitSales dla każdego klienta.

Wybierz Customer B.

Max({1} TOTAL UnitSales)

10, niezależnie od dokonanej selekcji, ponieważ wyrażenie Set Analysis {1} określa zestaw rekordów, które zostaną ocenione w kategorii ALL, bez względu na dokonaną selekcję.

Dane zastosowane w przykładach:

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 '|');