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. Składnia:
Max([{SetExpression}] [TOTAL [<fld {,fld}>]] expr [,rank])
Typ zwracanych danych: numeric
Argumenty:
Argument | Opis |
---|---|
expr | Wyrażenie lub pole zawierające mierzone dane. |
rank | Wartość 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. |
SetExpression | Funkcja 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. |
Przykłady i wyniki:
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 |
Przykłady | Wyniki |
---|---|
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 '|');