# Max - diagramfunctie

Max() retourneert de hoogste waarde van de geaggregeerde gegevens. Door een rank n op te geven, wordt de n-de hoogste waarde gezocht.

TipU kunt ook kijken naar FirstSortedValue en RangeMax, die een functionaliteit hebben die vergelijkbaar is met die van de functie Max.

Syntaxis:

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

Retourgegevenstypen: numeriek

Argumenten

| Argument | Beschrijving |
| --- | --- |
| expr | De uitdrukking die of het veld dat de gegevens bevat die moeten worden gemeten. |
| rank | De standaardwaarde van rank is 1. Dit komt overeen met de hoogste waarde. Als u bij rank 2 opgeeft, wordt de op één na hoogste waarde geretourneerd. Als u bij rank 3 opgeeft, wordt de op twee na hoogste waarde geretourneerd, enzovoort. |
| SetExpression | De aggregatiefunctie aggregeert standaard over de set mogelijke records die wordt gedefinieerd door de selectie. Met de uitdrukking Set-analyse kunt u een alternatieve set records definiëren. |
| TOTAL | Als het woord TOTAL voor de functieargumenten staat, wordt de berekening gemaakt op basis van alle mogelijke waarden bij de huidige selecties, en niet alleen de selecties die betrekking hebben op de huidige dimensiewaarde. Dit betekent dat de dimensies van het diagram worden genegeerd.<br><br>Wanneer u TOTAL [&lt;fld {.fld}&gt;] gebruikt en de TOTAL-kwalificatie wordt gevolgd door een lijst van één of meer veldnamen als subset van de dimensievariabelen van het diagram, maakt u een subset van de totale mogelijke waarden.<br><br>[Het aggregatiebereik definiëren](https://help.qlik.com/nl-NL/cloud-services/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/define-aggregation-scope.htm) |

Voorbeeld: diagramuitdrukkingen

| Voorbeeld | Resultaat |
| --- | --- |
| `Max(UnitSales)` | Retourneert de hoogste waarde in het veld `UnitSales`. |
| `Max(UnitSales*UnitPrice)` De waarde van een order wordt berekend door het aantal verkochte eenheden in (`UnitSales`) te vermenigvuldigen met de prijs per eenheid. | Retourneert de hoogste waarde van het resultaat van de berekening van alle mogelijke waarden van (`UnitSales`) \* (`UnitPrice`). |
| `Max(UnitSales, 2)` | Retourneert de waarde voor de op één na hoogste waarde. |
| `Max(TOTAL UnitSales)` | De kwalificatie `TOTAL` betekent dat de hoogst mogelijke waarde wordt gevonden, waarbij de diagramdimensies buiten beschouwing worden gelaten. Voor een diagram met `Customer` als dimensie, zorgt de kwalificatie `TOTAL` ervoor dat de maximale waarde in de volledige gegevensverzameling wordt geretourneerd, in plaats van de maximale `UnitSales` voor elke klant. |
| `Max({1} TOTAL UnitSales)` | De set-analyseuitdrukking `{1}` definieert de set records die moeten worden geëvalueerd als `ALL`, ongeacht welke selectie wordt gemaakt. Als er bijvoorbeeld een specifieke klant wordt geselecteerd, zal deze nog steeds de maximale `UnitSales` voor de volledige gegevensverzameling retourneren. |

## Voorbeeld - Basisprincipes voor Max

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

#### Diagramuitdrukking

Overzicht

Een gegevensverzameling bevat verkoopcijfers van producten per maand. Wij willen de maximale verkoopwaarde voor elk product identificeren en de maand waarin dit gebeurde.

Open de editor voor laden van gegevens en voeg het onderstaande load-script toe aan een nieuwe sectie.

Het load-script bevat:

* Een gegevensverzameling die wordt geladen in een tabel met de naam `Example`.

* De volgende velden in de gegevenstabel:

  * `Customer`

  * `UnitSales`

  * `UnitPrice`

Load-script

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

Resultaten

Laad de gegevens en open een werkblad. Maak een nieuwe tabel en voeg dit veld toe als dimensie:

* `Customer`

Maak de volgende metingen:

* `=Max(UnitSales)`, om de maximale `UnitSales` waarde te berekenen.

* `=Max(UnitSales*UnitPrice)`, om de maximumwaarde na vermenigvuldiging van `UnitSales` met `UnitPrice` rij per rij te berekenen.

* `=Max(UnitSales, 2)`, om de op één na hoogste waarde te berekenen.

* `=Max(TOTAL UnitSales)`, om het hoogste totaal te berekenen, ongeacht de dimensie van het diagram.

* `=Max({1} TOTAL UnitSales)`, om het hoogste totaal te berekenen dat alle selecties negeert.

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 |

Volg in dit voorbeeld het volgende:

* In de eerste meting (`Max(UnitSales)`) is de hoogste waarde voor `UnitSales` voor de klant `Astrida` `10` . De cel `Totals` in deze kolom retourneert `10` omdat deze waarde ook de hoogste `UnitSales` waarde in de hele gegevensverzameling is.

* In de tweede meting (`Max(UnitSales*UnitPrice)`) wordt `150` geretourneerd voor `Astrida`. Dit is de hoogste waarde voor die klant bij vermenigvuldiging van `UnitSales` met `UnitPrice`. De cel `Totals` in deze kolom retourneert `150` omdat deze waarde ook de hoogst berekende waarde in de hele gegevensverzameling is.

* In de derde meting (`Max(UnitSales, 2)`) is de op één na hoogste `UnitSales` waarde voor de klant `Astrida` `9` . Deze waarde is ook de op één na hoogste waarde van alle drie klanten, daarom retourneert de rij `Totals` ook `9`.

* De vierde meting (`Max(TOTAL UnitSales)`) retourneert de waarde `10`. Dit is de hoogste gevonden waarde, onafhankelijk van de dimensie van de klant, daarom retourneren alle rijen dezelfde waarde. Als u echter de klant `Betacab` selecteert, retourneert de tabel alleen waarden voor die klant, in dit geval `5` omdat dit de hoogste `UnitSales` van alle producten voor `Betacab` is.

* De vijfde meting (`Max({1} TOTAL UnitSales)`) retourneert de waarde `10`, ongeacht welke `Customer` is geselecteerd, omdat de gewijzigde set `{1}` wordt gebruikt. Als u bijvoorbeeld `Betacab` selecteert, blijft deze kolom de waarde `10` retourneren.

## Voorbeeld - Max-scenario dat de hoogste verkoop per maand berekent

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

#### Diagramuitdrukking

Overzicht

Een gegevensverzameling bevat verkoopcijfers van producten per maand. Een verkoopmanager wil de maximale verkoopwaarde voor elk product identificeren en de maand waarin dit gebeurde.

Open de editor voor laden van gegevens en voeg het onderstaande load-script toe aan een nieuwe sectie.

Het load-script bevat:

* Een gegevensverzameling die wordt geladen in een tabel met de naam `Example`.

* De volgende velden in de gegevenstabel:

  * `Product`

  * `Sales`

  * `Month`

Load-script

```
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
];
```

Resultaten

Laad de gegevens en open een werkblad. Maak een nieuwe tabel en voeg deze velden toe als dimensies:

* `Product`

* `Month`

Maak de volgende metingen:

* `=If(Sales = Max(TOTAL <Product> Sales), Sales)`, om de maximale verkoop voor elk product te berekenen. Selecteer Uitbreidingsmodules &gt; Gegevensverwerking in het eigenschappenvenster van de meting. Schakel het selectievakje Inclusief nulwaarden uit om eventuele nullwaarden te verwijderen.

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 |

De resultaten van de meting retourneren de maximale verkoopwaarde voor elk product en de maand waarin deze waarde werd bereikt. Bijvoorbeeld, `Product B` had de hoogste verkoop (`800`) in `2024-02-01`.

## Meer informatie

* [FirstSortedValue - diagramfunctie](https://help.qlik.com/nl-NL/cloud-services/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/BasicAggregationFunctions/firstsortedvalue.htm)
* [RangeMax Script- en diagramfunctie](https://help.qlik.com/nl-NL/cloud-services/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/RangeFunctions/rangemax.htm)
* [Set-analyse](https://help.qlik.com/nl-NL/cloud-services/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/SetAnalysis/set-analysis-expressions.htm)
* [Het aggregatiebereik definiëren](https://help.qlik.com/nl-NL/cloud-services/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/define-aggregation-scope.htm)