# Count - fonction de graphique

Count() permet d'agréger le nombre de valeurs, textuelles et numériques, dans chaque dimension du graphique.

Syntaxe :

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

Type de données renvoyé : integer

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. |
| 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/cloud-services/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/define-aggregation-scope.htm) |

Exemple : Expressions de graphique

| Exemple | Résultat |
| --- | --- |
| `Count(OrderNumber)` | Renvoie le nombre de lignes pouvant contenir une valeur pour `OrderNumber`. Tous les enregistrements, même ceux qui sont vides, sont comptabilisés.<br><br>Note Informations"0" est interprété comme une valeur et non comme une cellule vide. Cependant, si une mesure est agrégée sur la valeur 0 pour une dimension, cette dernière ne sera pas incluse dans les graphiques. |
| `Count(Customer)` | Évalue le nombre d'occurrences dans toutes les lignes. |
| `Count(DISTINCT [Customer])` | Le qualificateur `DISTINCT` limite le comptage `Count` de sorte à n'évaluer que les occurrences uniques. |
| `Count(OrderNumber)/Count({1} TOTAL OrderNumber)` | L'expression renvoie le nombre de commandes du client sélectionné sous forme de pourcentage des commandes de l'ensemble des clients. |
| `Count(TOTAL <Product> OrderNumber)` | Renvoie le nombre de commandes passées pour des produits pour les clients sélectionnés uniquement. Les cellules vides sont également comptabilisées. |

## Exemple - Les bases de Count

[](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/CounterAggregationFunctions/count.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`

  * `OrderNumber`

  * `UnitSales`

  * `UnitPrice`

Script de chargement

```
Example:
LOAD * inline [
Customer|Product|OrderNumber|UnitSales|UnitPrice
Astrida|AA|1|4|16
Astrida|AA|7|10|15
Astrida|BB|4|9|9
Betacab|CC|6|5|10
Betacab|AA|5|2|20
Betacab|BB|1|25| 25
Canutility|AA|3|8|15
Canutility|CC|||19
Divadip|CC|2|4|16
Divadip|DD|3|1|25
](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 :

* `=Count(OrderNumber)`, pour compter le nombre de commandes.

* `=Count(Customer)`, pour calculer le nombre d'enregistrements de clients.

* `=Count(DISTINCT Customer)`, pour compter le nombre de clients distincts.

* `=Count(OrderNumber)/Count({1} TOTAL OrderNumber)`, pour compter le ratio de commandes des clients sélectionnés par rapport à l'ensemble des commandes des clients.

* `=Count(TOTAL <Product> OrderNumber)`, pour compter le nombre de commandes passées pour des produits pour les seuls clients sélectionnés (les cellules vides sont comptabilisées).

Results table

| Customer | Count(OrderNumber) | Count(Customer) | Count(DISTINCT Customer) | Count(OrderNumber)/Count({1} TOTAL OrderNumber) | Count(TOTAL &lt;Product&gt; OrderNumber) |
| --- | --- | --- | --- | --- | --- |
| Totals | 10 | 10 | 4 | 1 | 10 |
| Astrida | 3 | 3 | 1 | 0.3 | 10 |
| Betacab | 3 | 3 | 1 | 0.3 | 10 |
| Canutility | 2 | 2 | 1 | 0.2 | 10 |
| Divadip | 2 | 2 | 1 | 0.2 | 10 |

En examinant les résultats, nous observons les points suivants :

* Première mesure : le jeu de données contient `10` enregistrements de commandes.

* Deuxième mesure : le jeu de données contient `10` enregistrements de clients.

* Troisième mesure : le jeu de données contient `4` clients distincts (uniques).

* Quatrième mesure : renvoie `1`, car aucune sélection n'a été appliquée. Si vous sélectionnez le client `Canutility`, la valeur devient `0.2`, car il existe `2` enregistrements de commandes pour ce client sur un total de `10` enregistrements dans le jeu de données.

* Cinquième mesure : renvoie `10`, car aucune sélection n'a été appliquée. Si vous sélectionnez les clients `Astrida` et `Canutility`, la valeur devient `5`, car il s'agit du nombre de commandes passées pour des produits pour ces clients (les cellules vides sont également comptabilisées).

## Exemple - Utilisation de Count pour trouver le nombre de ventes par produit

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

#### Expression de graphique

Vue d'ensemble

Un jeu de données contient des données de ventes de magasins. Nous voulons trouver le nombre de ventes par 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`

  * `Region`

  * `Status`

Script de chargement

```
Example:
Load * inline [
Product,Sales,Region,Status
Apple, 100, North, Completed
Banana, 80, South, Pending
Carrot, 50, East, Completed
Apple, 120, North, Completed
Banana, 90, South, Completed
Carrot, 60, West, Pending
Apple, 110, North, Completed
Banana, 85, South, Completed
Carrot, 55, East, Pending
];
```

Résultats

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

* `Product`

Créez les mesures suivantes :

* `=Count(Sales)`, pour calculer le nombre de ventes par produit.

* `=Count({<Status={'Completed'}>} Sales)`, pour calculer le nombre de ventes dont les commandes sont terminées.

* `=Count({<Status={'Pending'}>} Sales)`, pour calculer le nombre de ventes dont les commandes sont encore en attente.

* `=Count({<Region={'North'}>} Sales)`, pour calculer le nombre de commandes dans la région `North`.

Results table

| Product | Count(Sales) | Count({&lt;Status={'Completed'}&gt;} Sales) | Count({&lt;Status={'Pending'}&gt;} Sales) | Count({&lt;Region={'North'}&gt;} Sales) |
| --- | --- | --- | --- | --- |
| Totals | 9 | 6 | 3 | 3 |
| Apple | 3 | 3 | 0 | 3 |
| Banana | 3 | 2 | 1 | 0 |
| Carrot | 3 | 1 | 2 | 0 |

La sortie de la fonction `Count` renvoie une répartition du nombre total de commandes par produit, ainsi que le nombre de commandes terminées et le nombre de commandes encore en attente. La dernière mesure renvoie un nombre d'enregistrements de ventes pour la région `North`.