# 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.

WskazówkaWarto zapoznać się z informacjami na temat funkcji FirstSortedValue i RangeMax, których działanie jest podobne do działania funkcji Max.

Składnia:

Max([{SetExpression}] [TOTAL [&lt;fld {,fld}&gt;]] expr [,rank])

Typ zwracanych danych: liczbowy

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.<br><br>Korzystając z polecenia TOTAL [&lt;fld {.fld}&gt;], 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.<br><br>[Określenie zakresu agregacji](https://help.qlik.com/pl-PL/cloud-services/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/define-aggregation-scope.htm) |

Przykład: wyrażenia wykresu

| Przykład | Wynik |
| --- | --- |
| `Max(UnitSales)` | Zwraca najwyższą wartość w polu `UnitSales`. |
| `Max(UnitSales*UnitPrice)` Wartość zamówienia jest obliczana przez pomnożenie liczby sprzedanych sztuk podanej w kolumnie (`UnitSales`) przez cenę jednostkową. | Zwraca najwyższą wartość wynikającą z obliczenia wszystkich możliwych wartości (`UnitSales`) \* (`UnitPrice`). |
| `Max(UnitSales, 2)` | Zwraca wartość dla drugiej najwyższej wartości. |
| `Max(TOTAL UnitSales)` | 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. |
| `Max({1} TOTAL UnitSales)` | Wyrażenie analizy zestawu `{1}` definiuje zestaw rekordów do oceny jako `ALL`, niezależnie od dokonanych wyborów. Jeżeli na przykład zostanie wybrany konkretny klient, zostanie zwrócona maksymalna wartość `UnitSales` w całym zbiorze danych. |

## Przykład — podstawy Max

[](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/BasicAggregationFunctions/max.htm)

#### Wyrażenie wykresu

Przegląd

Zestaw danych zawiera dane dotyczące sprzedaży produktów w poszczególnych miesiącach. Chcemy zidentyfikować maksymalną wartość sprzedaży dla każdego produktu i miesiąc, w którym to nastąpiło.

Otwórz Edytor ładowania danych i poniżej dodaj skrypt ładowania do nowej sekcji.

Skrypt ładowania zawiera:

* Zestaw danych załadowany do tabeli o nazwie `Example`.

* Tabela zawiera następujące pola:

  * `Customer`

  * `UnitSales`

  * `UnitPrice`

Skrypt ładowania

```
Example:
LOAD * inline [
Customer|UnitSales|UnitPrice
Astrida|4|16
Astrida|10|15
Astrida|9|9
Betacab|5|10
Betacab|2|20
Betacab||25
Canutility|8|15
Canutility||19
] (delimiter is '|');
```

Wyniki

Załaduj dane i otwórz arkusz. Utwórz nową tabelę i dodaj to pole jako wymiar:

* `Customer`

Utwórz następujące miary:

* `=Max(UnitSales)`w celu obliczenia maksymalnej wartości `UnitSales`.

* `=Max(UnitSales*UnitPrice)` w celu obliczenia maksymalnej wartości po pomnożeniu `UnitSales` przez `UnitPrice` wiersz po wierszu.

* `=Max(UnitSales, 2)` w celu obliczenia drugiej najwyższej wartości.

* `=Max(TOTAL UnitSales)` w celu obliczenia najwyższej sumy niezależnie od wymiarów wykresu.

* `=Max({1} TOTAL UnitSales)` w celu obliczenia najwyższej sumy bez uwzględniania żadnych wyborów.

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 |

W tym przykładzie należy zwrócić uwagę na następujące elementy:

* W pierwszej mierze (`Max(UnitSales)`) najwyższą wartością `UnitSales` dla klienta `Astrida` jest `10`. Komórka `Totals` w tej kolumnie zwraca `10`, ponieważ wartość ta jest również najwyższą wartością `UnitSales` w całym zestawie danych.

* W drugiej mierze (`Max(UnitSales*UnitPrice)`), `150` jest zwracane dla `Astrida`. Jest to najwyższa wartość dla tego klienta po pomnożeniu `UnitSales` przez `UnitPrice`. Komórka `Totals` w tej kolumnie również zwraca `150`, ponieważ wartość ta jest również najwyższą obliczoną wartością w całym zestawie danych.

* W trzeciej mierze (`Max(UnitSales, 2)`) drugą najwyższą wartością `UnitSales` dla klienta `Astrida` jest `9`. Wartość ta jest również drugą najwyższą wartością spośród wszystkich trzech klientów, dlatego wiersz `Totals` również zwraca `9`.

* Czwarta miara (`Max(TOTAL UnitSales)`) zwraca wartość `10`. Jest to najwyższa znaleziona wartość niezależna od wymiaru klienta, dlatego wszystkie wiersze zwracają tę samą wartość. Jeśli jednak wybierzesz klienta `Betacab`, tabela zwróci tylko wartości dla tego klienta, w tym przypadku `5`, ponieważ jest to najwyższa wartość `UnitSales` w przypadku wszystkich produktów dla `Betacab`.

* Piąta miara (`Max({1} TOTAL UnitSales)`) zwraca wartość `10` niezależnie od tego, który `Customer` jest wybrany, ponieważ używany jest zmodyfikowany zestaw `{1}`. Na przykład po wybraniu `Betacab` ta kolumna będzie nadal zwracać wartość `10`.

## Przykład — zastosowanie Max obliczające najwyższą sprzedaż w poszczególnych miesiącach

[](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/BasicAggregationFunctions/max.htm)

#### Wyrażenie wykresu

Przegląd

Zestaw danych zawiera dane dotyczące sprzedaży produktów w poszczególnych miesiącach. Menedżer sprzedaży chce zidentyfikować maksymalną wartość sprzedaży dla każdego produktu i miesiąc, w którym to nastąpiło.

Otwórz Edytor ładowania danych i poniżej dodaj skrypt ładowania do nowej sekcji.

Skrypt ładowania zawiera:

* Zestaw danych załadowany do tabeli o nazwie `Example`.

* Tabela zawiera następujące pola:

  * `Product`

  * `Sales`

  * `Month`

Skrypt ładowania

```
Example:
Load * inline [
Product,Sales,Month
A, 500, 2024-01-01
A, 700, 2024-02-01
A, 600, 2024-03-01
B, 300, 2024-01-01
B, 800, 2024-02-01
B, 450, 2024-03-01
C, 550, 2024-01-01
C, 620, 2024-02-01
C, 710, 2024-03-01
];
```

Wyniki

Załaduj dane i otwórz arkusz. Utwórz nową tabelę i dodaj te pola jako wymiary:

* `Product`

* `Month`

Utwórz następujące miary:

* `=If(Sales = Max(TOTAL <Product> Sales), Sales)` w celu obliczenia maksymalnej sprzedaży dla każdego produktu. W panelu właściwości miary wybierz kolejno opcje Dodatki &gt; Obsługa danych. Wyczyść pole wyboru Uwzględnij wartości zerowe, aby usunąć wszelkie wartości null.

Results table

| Product | Month | If(Sales = Max(TOTAL &lt;Product&gt; Sales), Sales) |
| --- | --- | --- |
| A | 2024-02-01 | 700 |
| B | 2024-02-01 | 800 |
| C | 2024-03-01 | 710 |

Wyniki miary zwracają maksymalną wartość sprzedaży dla każdego produktu oraz miesiąc, w którym wartość ta została osiągnięta. Na przykład `Product B` miał najwyższą sprzedaż (`800`) w dniu `2024-02-01`.

## Dowiedz się więcej

* [FirstSortedValue — funkcja wykresu](https://help.qlik.com/pl-PL/cloud-services/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/BasicAggregationFunctions/firstsortedvalue.htm)
* [RangeMax funkcja skryptu i funkcja wykresu](https://help.qlik.com/pl-PL/cloud-services/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/RangeFunctions/rangemax.htm)
* [Analiza zestawów](https://help.qlik.com/pl-PL/cloud-services/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/SetAnalysis/set-analysis-expressions.htm)
* [Określenie zakresu agregacji](https://help.qlik.com/pl-PL/cloud-services/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/define-aggregation-scope.htm)