# Max - fonction de graphique

Max() permet de déterminer la valeur la plus élevée parmi les données agrégées. Si vous spécifiez un argument rank n, vous pouvez trouver la énième valeur la plus élevée.

Note ConseilIl est également recommandé de consulter la description des fonctions FirstSortedValue et RangeMax, qui disposent de fonctionnalités similaires à celles de la fonction Max.

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

numérique

Arguments

| Argument | Description |
| --- | --- |
| expr | Expression ou champ contenant les données à mesurer. |
| rank | La valeur par défaut de rank est 1, qui correspond à la valeur la plus élevée. Si vous spécifiez 2 comme valeur pour rank, la deuxième valeur la plus élevée est renvoyée. Si la valeur de rank est égale à 3, on obtient la troisième valeur la plus élevée, et ainsi de suite. |
| SetExpression | Par défaut, la fonction d'agrégation couvre l'ensemble des enregistrements possibles définis par la sélection. Il est possible de définir un ensemble d'enregistrements alternatif à l'aide d'une expression d'analyse d'ensembles. |
| TOTAL | Si le terme TOTAL précède les arguments de la fonction, le calcul est effectué à partir de toutes les valeurs possibles au vu des sélections actives, et pas seulement à partir de celles qui sont associées à la valeur dimensionnelle active. Autrement dit, les dimensions du graphique ne sont pas prises en compte.<br><br>En utilisant TOTAL [&lt;fld {.fld}&gt;], où le qualificateur TOTAL est suivi d'un ou de plusieurs noms constituant un sous-ensemble des variables de dimension du graphique, vous créez un sous-ensemble du nombre total de valeurs possibles.<br><br>[Définition de l'étendue d'une agrégation](https://help.qlik.com/fr-FR/sense/November2025/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/define-aggregation-scope.htm) |

Exemple : Expressions de graphique

| Exemple | Résultat |
| --- | --- |
| `Max(UnitSales)` | Renvoie la plus grande valeur dans le champ `UnitSales` (ventes unitaires). |
| `Max(UnitSales*UnitPrice)` La valeur d'une commande est calculée en multipliant le nombre d'unités vendues dans (`UnitSales`) (ventes unitaires) par le prix unitaire. | Renvoie la valeur la plus élevée du résultat du calcul de toutes les valeurs possibles de (`UnitSales`) \* (`UnitPrice`). |
| `Max(UnitSales, 2)` | Renvoie la valeur de la deuxième valeur la plus élevée. |
| `Max(TOTAL UnitSales)` | Le qualificateur `TOTAL` signifie que la valeur la plus élevée possible est recherchée, sans tenir compte des dimensions du graphique. Pour un graphique utilisant `Customer` comme dimension, le qualificateur `TOTAL` permet de garantir le renvoi de la valeur maximale du jeu de données complet au lieu de la valeur `UnitSales` maximale pour chaque client. |
| `Max({1} TOTAL UnitSales)` | L'expression d'analyse d'ensembles `{1}` définit l'ensemble d'enregistrements à évaluer comme `ALL` sans tenir compte de la sélection. Par exemple, si vous sélectionnez un client spécifique, vous obtiendrez toujours la valeur maximale de `UnitSales` du jeu de données complet. |

## Exemple - Les bases de Max

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

#### Expression de graphique

Vue d'ensemble

Un jeu de données contient les chiffres de ventes de produits par mois. Nous voulons identifier la valeur de vente maximale pour chaque produit et le mois au cours duquel cela s'est produit.

Ouvrez l'éditeur de chargement de données et ajoutez le script de chargement ci-dessous à une nouvelle section.

Le script de chargement contient :

* Jeu de données chargé dans une table de données appelée `Example`.

* Champs suivants dans la table de données :

  * `Customer`

  * `UnitSales`

  * `UnitPrice`

Script de chargement

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

Résultats

Chargez les données et ouvrez une feuille. Créez une table et ajoutez ce champ comme dimension :

* `Customer`

Créez les mesures suivantes :

* `=Max(UnitSales)`, pour calculer la valeur `UnitSales` maximale.

* `=Max(UnitSales*UnitPrice)`, pour calculer la valeur maximale après avoir multiplié `UnitSales` par `UnitPrice` ligne par ligne.

* `=Max(UnitSales, 2)`, pour calculer la deuxième valeur la plus élevée.

* `=Max(TOTAL UnitSales)`, pour calculer le total le plus élevé, quelle que soit la dimension du graphique.

* `=Max({1} TOTAL UnitSales)`, pour calculer le total le plus élevé en ignorant toutes les sélections.

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 |

Dans cet exemple, observez les points suivants :

* Dans la première mesure (`Max(UnitSales)`), la valeur la plus élevée de `UnitSales` pour le client `Astrida` est `10`. La cellule `Totals` de cette colonne renvoie `10`, car cette valeur est également la valeur `UnitSales` la plus élevée de l'ensemble du jeu de données.

* Dans la deuxième mesure (`Max(UnitSales*UnitPrice)`), `150` est renvoyé pour `Astrida`. Il s'agit de la valeur la plus élevée pour ce client lorsque l'on multiplie `UnitSales` par `UnitPrice`. La cellule `Totals` de cette colonne renvoie elle aussi `150`, car il s'agit également de la valeur calculée la plus élevée de l'ensemble du jeu de données.

* Dans la troisième mesure (`Max(UnitSales, 2)`), la deuxième valeur `UnitSales` la plus élevée pour le client `Astrida` est `9`. Cette valeur est également la deuxième valeur la plus élevée de l'ensemble des trois clients, c'est pourquoi la ligne `Totals` renvoie également `9`.

* La quatrième mesure (`Max(TOTAL UnitSales)`) renvoie la valeur `10`. Il s'agit de la valeur la plus élevée trouvée indépendamment de la dimension customer (client), par conséquent, toutes les lignes renvoient la même valeur. Toutefois, si vous sélectionnez le client `Betacab`, le tableau ne renverra que les valeurs de ce client, en l'occurrence `5`, car il s'agit de la valeur `UnitSales` la plus élevée de tous les produits de `Betacab`.

* La cinquième mesure (`Max({1} TOTAL UnitSales)`) renvoie la valeur `10`, quelle que soit la sélection de `Customer`, car le jeu modifié `{1}` est utilisé. Par exemple, si vous sélectionnez `Betacab`, cette colonne continuera à renvoyer la valeur `10`.

## Exemple - Scénario Max calculant les meilleures ventes par mois

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

#### Expression de graphique

Vue d'ensemble

Un jeu de données contient les chiffres de ventes de produits par mois. Un responsable commercial souhaite identifier la valeur de vente maximale pour chaque produit et le mois au cours duquel cela s'est produit.

Ouvrez l'éditeur de chargement de données et ajoutez le script de chargement ci-dessous à une nouvelle section.

Le script de chargement contient :

* Jeu de données chargé dans une table de données appelée `Example`.

* Champs suivants dans la table de données :

  * `Product`

  * `Sales`

  * `Month`

Script de chargement

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

Résultats

Chargez les données et ouvrez une feuille. Créez une table et ajoutez ces champs comme dimensions :

* `Product`

* `Month`

Créez les mesures suivantes :

* `=If(Sales = Max(TOTAL <Product> Sales), Sales)`, pour calculer les ventes maximales pour chaque produit. Dans le panneau de propriétés de la mesure, sélectionnez Compléments &gt; Manipulation des données. Décochez la case Inclure les valeurs zéro pour supprimer toutes les valeurs nulles.

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 |

Les résultats de la mesure renvoient la valeur de vente maximale pour chaque produit et le mois au cours duquel cette valeur a été atteinte. Par exemple, `Product B` a enregistré les meilleures ventes (`800`) le `2024-02-01`.

## En savoir plus

* [FirstSortedValue - fonction de graphique](https://help.qlik.com/fr-FR/sense/November2025/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/BasicAggregationFunctions/firstsortedvalue.htm)
* [RangeMax - Fonction de script et de graphique](https://help.qlik.com/fr-FR/sense/November2025/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/RangeFunctions/rangemax.htm)
* [Analyse d'ensembles](https://help.qlik.com/fr-FR/sense/November2025/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/SetAnalysis/set-analysis-expressions.htm)
* [Définition de l'étendue d'une agrégation](https://help.qlik.com/fr-FR/sense/November2025/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/define-aggregation-scope.htm)