# NoOfColumns - fonction de graphique

NoOfColumns() renvoie le nombre de colonnes dans le segment de ligne actif d'un tableau croisé dynamique.

Note InformationsLe tri sur les valeurs des ordonnées dans les graphiques ou le tri par colonnes d'expressions dans les tableaux n'est pas autorisé lors de l'utilisation de cette fonction de graphique dans l'une des expressions du graphique. Ces options de tri sont donc automatiquement désactivées. Lorsque vous utilisez cette fonction de graphique dans une visualisation ou un tableau, le tri de la visualisation revient à l'entrée triée via cette fonction.

Syntaxe :

NoOfColumns([total])

Arguments

| Argument | Description |
| --- | --- |
| TOTAL | Si la table est unidimensionnelle ou si le qualificateur TOTAL est utilisé comme argument, le segment de colonne actif est toujours égal à la colonne entière.<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) |

Dans un tableau croisé dynamique avec plusieurs dimensions horizontales, le segment de ligne actif inclut uniquement les colonnes contenant les mêmes valeurs que la colonne active dans toutes les lignes de dimension, à l'exception de la ligne affichant la dernière dimension dans l'ordre de tri inter-champs. L'ordre de tri inter-champs pour les dimensions horizontales des tableaux croisés dynamiques est simplement défini par l'ordre des dimensions de haut en bas..

Exemple : Expression de graphique

| Exemple | Résultat |
| --- | --- |
| `IF(ColumnNo() > NoOfColumns() - 2, Sum(Sales), Null())` | Lorsque la valeur `ColumnNo` est supérieure à la valeur `NoOfColumns` moins `2`, le graphique renverra la valeur de `Sum(Sales)`. Dans le cas contraire, si `ColumnNo` est inférieur à cette valeur, il renverra `NULL`. Dans cet exemple, à partir de la troisième colonne, il renverra des valeurs, tandis que les colonnes 1 et 2 ne renverront aucune valeur. |

## Exemple - Les bases de NoOfColumns

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

  * `Period`

  * `Sales`

Script de chargement

```
Example:
Load * inline [
Period, Sales
Q1, 1000
Q2, 2000
Q3, 3000
Q4, 4000
];
```

Résultats

Chargez les données et ouvrez une feuille. Créez un tableau croisé dynamique et ajoutez ce champ comme dimension de colonne :

* `Period`

Créez les mesures suivantes :

* `=Sum(Sales)`, pour calculer la somme des ventes.

* `=NoOfColumns()`, pour calculer le nombre de colonnes.

Results table

| Q1 | Q2 | Q3 | Q4 |  |  |  |  |
| --- | --- | --- | --- | --- | --- | --- | --- |
| Sum(Sales) | NoOfColumns() | Sum(Sales) | NoOfColumns() | Sum(Sales) | NoOfColumns() | Sum(Sales) | NoOfColumns() |
| 1000 | 4 | 2000 | 4 | 3000 | 4 | 4000 | 4 |

Les résultats montrent la somme des ventes pour les périodes `Q1` à `Q4`. La fonction `NoOfColumns` renvoie une valeur de `4`, car `4` colonnes sont affichées pour le segment de ligne actif.

## Exemple - Scénario NoOfColumns

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

#### Expression de graphique

Vue d'ensemble

Un jeu de données contient des chiffres de ventes trimestrielles. Vous souhaitez afficher dans le tableau croisé dynamique les valeurs des ventes uniquement pour les deux derniers trimestres (Q3 et Q4).

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`

  * `Quarter`

  * `Sales`

Script de chargement

```
Example:
Load * inline [
Product, Quarter, Sales
Apple, Q1, 100
Apple, Q2, 120
Apple, Q3, 140
Apple, Q4, 160
Banana, Q1, 150
Banana, Q2, 180
Banana, Q3, 200
Banana, Q4, 220
Cherry, Q1, 80
Cherry, Q2, 90
Cherry, Q3, 110
Cherry, Q4, 150
];
```

Résultats

Chargez les données et ouvrez une feuille. Créez un tableau croisé dynamique et ajoutez ce champ comme dimension de ligne :

* `Product`

Ajoutez ce champ comme dimension de colonne :

* `Quarter`

Créez la mesure suivante :

* `=IF(ColumnNo() > NoOfColumns() - 2, Sum(Sales), Null())`, pour afficher uniquement les valeurs des deux dernières colonnes du tableau croisé dynamique (`Q3` et `Q4`).

Results table

| Product | Q1 | Q2 | Q3 | Q4 |
| --- | --- | --- | --- | --- |
| Apple | - | - | 140 | 160 |
| Banana | - | - | 200 | 220 |
| Cherry | - | - | 110 | 150 |

Les résultats ne montrent les valeurs des ventes que pour les colonnes 3 et 4, c'est-à-dire les deux derniers trimestres de l'année.