# Sum - fonction de graphique

Sum() calcule le nombre total de valeurs fournies par l'expression ou le champ sur les données agrégées.

Sum([{SetExpression}] [DISTINCT] [TOTAL [&lt;fld {,fld}&gt;]] expr])

numérique

Arguments

| Argument | Description |
| --- | --- |
| expr | Expression ou champ contenant les données à mesurer. |
| 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. |
| DISTINCT | Si le terme DISTINCT précède les arguments de la fonction, les doublons résultant de l'évaluation des arguments de la fonction sont ignorés.<br><br>Note InformationsMême si le qualificateur DISTINCT est supporté, utilisez-le avec une extrême prudence, car il peut induire le lecteur en erreur, en le laissant supposer qu'une valeur totale est affichée alors que certaines données ont été omises. |
| 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 |
| --- | --- |
| `Sum(UnitSales)` | Renvoie le total des valeurs dans `UnitSales`. |
| `Sum(UnitSales*UnitPrice)` | Renvoie le total de `UnitPrice` multiplié par les valeurs `UnitSales` agrégées. |
| `Sum(TOTAL UnitSales*UnitPrice)` | Renvoie la somme totale pour toutes les lignes de la table de même que le total, car le qualificateur `TOTAL` signifie que la somme est calculée, quelles que soient les dimensions du graphique. |
| `Sum({1} TOTAL UnitSales*UnitPrice)` | L'expression d'analyse d'ensembles `{1}` définit l'ensemble d'enregistrements à évaluer comme `ALL` sans tenir compte de la sélection. |

## Exemple - Les bases de Sum

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

#### Expression de graphique

Vue d'ensemble

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`

  * `Product`

  * `UnitSales`

  * `UnitPrice`

Script de chargement

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

Résultats

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

* `Customer`

* `Product`

Créez les mesures suivantes :

* `=Sum(UnitSales)`, pour calculer la somme de `UnitSales`.

* `=Sum(UnitSales*UnitPrice)`, pour calculer le total agrégé de `UnitSales` multiplié par `UnitPrice`.

* `=Sum(TOTAL UnitSales*UnitPrice)`, pour calculer le total de toutes les lignes de la table de même que le total, car le qualificateur `TOTAL` signifie que la somme est la même pour toutes les cellules, quelles que soient les dimensions du graphique.

* `=Sum({1} TOTAL UnitSales*UnitPrice)`, pour calculer le total, quelle que soit la sélection effectuée, car l'expression d'analyse d'ensembles `{1}` définit l'ensemble d'enregistrements à évaluer comme `ALL` sans tenir compte de la sélection.

Results table

| Customer | Product | Sum(UnitSales) | Sum(UnitSales\*UnitPrice) | Sum(TOTAL UnitSales\*UnitPrice) | Sum({1} TOTAL UnitSales\*UnitPrice) |
| --- | --- | --- | --- | --- | --- |
| Totals | - | 38 | 505 | 505 | 505 |
| Astrida | AA | 14 | 214 | 505 | 505 |
| Astrida | BB | 9 | 81 | 505 | 505 |
| Betacab | BB | 5 | 50 | 505 | 505 |
| Betacab | CC | 2 | 40 | 505 | 505 |
| Betacab | DD | 0 | 0 | 505 | 505 |
| Canutility | AA | 8 | 120 | 505 | 505 |
| Canutility | CC | 0 | 0 | 505 | 505 |

Dans cet exemple, observez les points suivants :

* Pour la première mesure, `Sum(UnitSales`, la cellule `Totals` renvoie `38`, qui est le total des valeurs de `UnitSales` pour tous les clients et produits. Les résultats pour chaque combinaison de client et de produit sont agrégés pour obtenir la somme totale de `UnitSales` pour chaque combinaison. Par exemple, la somme de toutes les ventes unitaires `UnitSales` du produit `AA` du client `Astrida` est `14`.

* Pour la deuxième mesure, `Sum(UnitSales*UnitPrice)`, la cellule `Totals` renvoie `505`. Il s'agit du total agrégé de ventes unitaires `UnitSales` multiplié par le prix unitaire `UnitPrice` pour chaque combinaison de client et de produit.

* Pour la troisième mesure, `Sum(TOTAL UnitSales*UnitPrice)`, la valeur renvoyée dans toutes les lignes, y compris `Totals`, est `505`, car le qualificateur `TOTAL` ne tient pas compte des dimensions du graphique. Toutefois, si une sélection est effectuée sur une dimension telle que `Customer`, les valeurs changeront. Par exemple, si vous sélectionnez `Betacab`, le tableau obtenu ne comportera que trois lignes, une pour chacun des enregistrements `Betacab`, mais la colonne renverra la même valeur totale pour toutes les lignes (`90`).

* La quatrième mesure, `Sum({1} TOTAL UnitSales*UnitPrice)`, renvoie la valeur `505` indépendamment de toute sélection, car l'expression d'analyse d'ensembles `{1}` définit l'ensemble d'enregistrements à évaluer comme `ALL`. Si vous sélectionnez un client, par exemple, `Canutility`, la valeur renvoyée est toujours `505`.

## Exemple - Scénario Sum agrégeant les données de vente

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

#### Expression de graphique

Vue d'ensemble

Un jeu de données contient des chiffres de ventes de magasins par région. L'entreprise souhaite agréger les ventes.

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 :

  * `Month`

  * `SalesProduct`

  * `Region`

  * `Sales`

Script de chargement

```
Example:
Load * inline [
Month,SalesProduct, Region, Sales
2024-01-01, T-shirt, East, 100
2024-01-01, T-shirt, West, 120
2024-01-01, Jeans, East, 200
2024-01-01, Jeans, West, 180
2024-02-01, T-shirt, East, 150
2024-02-01, T-shirt, West, 130
2024-02-01, Jeans, East, 250
2024-02-01, Jeans, West, 220
];
```

Résultats

Chargez les données et ouvrez une feuille. Créez un nouveau tableau croisé dynamique et ajoutez ces champs comme dimensions de ligne :

* `Month`

* `Region`

Ajoutez ce champ comme dimension de colonne :

* `SalesProduct`

Créez la mesure suivante :

* `=Sum(Sales)`, pour calculer les ventes totales pour chaque produit.

Pour développer le tableau croisé dynamique afin de voir toutes les lignes, dans le panneau des propriétés, sous Aspect, sélectionnez Présentation. Sous Lignes, sélectionnez Entièrement étendu.

Results table

| Month<br>Region | SalesProduct |  |
| --- | --- | --- |
| Jeans | T-shirt |  |
| 2024-01-01 | 380 | 220 |
| East | 200 | 100 |
| West | 180 | 120 |
| 2024-02-01 | 470 | 280 |
| East | 250 | 150 |
| West | 220 | 130 |

Les résultats montrent les ventes pour chaque produit de vente `SalesProduct` par mois `Month` et par région `Region`, avec un total agrégé pour chaque mois `Month`.

## En savoir plus

* [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)