# First - fonction de graphique

First() renvoie la valeur d'une expression évaluée avec les valeurs de dimension d'un tableau croisé dynamique telles qu'elles figurent dans la première colonne du segment de ligne actif du tableau croisé dynamique. Cette fonction renvoie NULL dans tous les types de graphique autres que les tableaux croisés dynamiques.

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 :

First([TOTAL] expr [, offset [, count]])

Arguments

| Argument | Description |
| --- | --- |
| expression | Expression ou champ contenant les données à mesurer. |
| offset | Si vous spécifiez un décalage offset n supérieur à 1, l'évaluation de l'expression est déplacée de n colonnes à droite de la première colonne.<br><br>Si vous spécifiez un décalage égal à 0, l'expression est évaluée sur la première colonne du segment de ligne actif.<br><br>Si vous spécifiez un décalage égal à 0, l'expression est évaluée sur la ligne active.<br><br>Si vous spécifiez un décalage négatif, la fonction First aboutit au même résultat que la fonction Last avec le décalage positif correspondant. |
| count | Si vous spécifiez un troisième paramètre count supérieur à 1, la fonction renvoie une plage de valeurs, une pour chacune des colonnes de la table jusqu'à la valeur count, en comptant vers la droite par rapport à la cellule de départ. |
| 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) |

Si le tableau croisé dynamique comporte plusieurs dimensions horizontales, le segment de ligne actif inclura 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 horizontale 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 : Expressions de graphique

| Exemple | Résultat |
| --- | --- |
| `First( Sum(Sales ))` | Renvoie la somme des ventes `Sales` de la première colonne du segment de ligne actif. |
| `First( Sum(Sales ), 2)` | Renvoie la somme des ventes `Sales` qui se trouve deux colonnes à droite de la première colonne du segment de ligne actif. |
| `First( Total Sum( Sales ))` | Renvoie la somme totale des ventes `Sales` de la première colonne du segment de ligne actif. |
| `RangeAvg (First(Sum(x),1,5))` | Renvoie une moyenne des résultats de la fonction `sum(x)` évaluée sur les cinq colonnes situées le plus à gauche du segment de ligne actif. |

## Exemple - Les bases de First

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

  * `Year`

  * `Quarter`

  * `Sales`

Script de chargement

```
Example:
Load * inline [
Year, Quarter, Sales
2023, Q1, 5000
2023, Q2, 4000
2023, Q3, 6000
2023, Q4, 7000
2024, Q1, 4500
2024, Q2, 3250
2024, Q3, 6500
2024, Q4, 7250
];
```

Résultats

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

* `Year`

Ajoutez ce champ comme dimension de colonne :

* `Quarter`

Créez les mesures suivantes :

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

* `=First(Sum(Sales))`, pour calculer la somme des ventes de la première colonne du segment de ligne actif.

Tableau de résultats

| Year | Q1 | Q2 | Q3 | Q4 |  |  |  |  |
| --- | --- | --- | --- | --- | --- | --- | --- | --- |
| Sum(Sales) | First(Sum(Sales)) | Sum(Sales) | First(Sum(Sales)) | Sum(Sales) | First(Sum(Sales)) | Sum(Sales) | First(Sum(Sales)) |  |
| 2023 | 5000 | 5000 | 4000 | 5000 | 6000 | 5000 | 7000 | 5000 |
| 2024 | 4500 | 4500 | 3250 | 4500 | 6500 | 4500 | 7250 | 4500 |

En examinant les résultats, vous pouvez voir que la fonction `First` renvoie la somme des valeurs des ventes de la première colonne de chaque segment de ligne de chaque trimestre. Par exemple, à `Q4`, la valeur de `Sum(Sales)` pour cette période est `7000`. La valeur de `First(Sum(Sales)` pour `Q4` est de `5000`, qui est la valeur de `Sum(Sales)` à `Q1`, la valeur de la première colonne de la ligne active, `2023`.

## Exemple - Scénario First

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

#### Expression de graphique

Vue d'ensemble

Un jeu de données contient des chiffres de ventes par année de divers produits sur une période de trois ans. L'entreprise souhaite présenter le total des ventes de l'année en cours et la croissance des ventes depuis la première année de la période.

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 :

  * `Date`

  * `Product`

  * `Sales`

Script de chargement

```
Example:
Load * inline [
Date, Product, Sales
2021, Apple, 100
2021, Banana, 150
2021, Carrot, 120
2022, Carrot, 80
2022, Banana, 200
2022, Apple, 110
2023, Carrot, 160
2023, Banana, 300
2023, Apple, 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 :

* `Date`

Créez les mesures suivantes :

* `=Sum(Sales)`, pour calculer les ventes annuelles.

* `=(Sum(Sales) - First(Sales)) / First(Sales)`, pour calculer la croissance des ventes depuis la première année du jeu de données. Pour afficher cette valeur sous forme de pourcentage, sous Formatage des nombres, sélectionnez Nombre &gt; Formatage simple &gt; 12,34 %.

Tableau de résultats

| Product | 2021 | 2022 | 2023 |  |  |  |
| --- | --- | --- | --- | --- | --- | --- |
| Sum(Sales) | (Sum(Sales) - First(Sales)) / First(Sales) | Sum(Sales) | (Sum(Sales) - First(Sales)) / First(Sales) | Sum(Sales) | (Sum(Sales) - First(Sales)) / First(Sales) |  |
| Apple | 100 | 0.00% | 110 | 10.00% | 150 | 50.00% |
| Banana | 150 | 0.00% | 200 | 33.33% | 300 | 100.00% |
| Carrot | 120 | 0.00% | 80 | -33.33% | 160 | 33.33% |

Les résultats montrent les chiffres de ventes annuels pour chaque année et le taux de croissance annuel en pourcentage par rapport aux valeurs des ventes de la première année. Par exemple, les ventes de `Apple` sont passées d'une valeur initiale de `100` en `2021` à une valeur de `150` en `2023`, ce qui représente une augmentation de `50%`. La vente de `Carrot` a diminué de `120` en `2021` à `80` en `2022`, soit une réduction de `33.33%`.

## Exemple - Scénario First utilisant range sum pour présenter les chiffres du budget

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

#### Expression de graphique

Vue d'ensemble

Un jeu de données contient les chiffres du budget par trimestre pour une période de deux ans et par catégorie de produits. L'entreprise souhaite présenter le budget pour le trimestre en cours et le total cumulé du budget pour chaque année.

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 :

  * `BudgetYear`

  * `BudgetQuarter`

  * `QuarterNo`

  * `BudgetAmount`

  * `Category`

Script de chargement

```
Example:
Load * inline [
BudgetYear, BudgetQuarter, QuarterNo, BudgetAmount, Category
2023, Q1, 1, 2100, Online
2023, Q2, 2, 2500, Online
2023, Q3, 3, 3100, Online
2023, Q4, 4, 4100, Online
2023, Q1, 1, 5100, Store
2023, Q2, 2, 5500, Store
2023, Q3, 3, 6100, Store
2023, Q4, 4, 7100, Store
2024, Q1, 1, 2300, Online
2024, Q2, 2, 2800, Online
2024, Q3, 3, 3300, Online
2024, Q4, 4, 4400, Online
2024, Q1, 1, 5300, Store
2024, Q2, 2, 5800, Store
2024, Q3, 3, 6300, Store
2024, Q4, 4, 7400, Store
];
```

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 :

* ` BudgetYear
                                       `

* `Category`

Ajoutez ce champ comme dimension de colonne :

* `BudgetQuarter`

Créez les mesures suivantes :

* `=Sum(BudgetAmount)`, pour calculer le chiffre de ventes du budget.

* `=RangeSum(First(Sum(BudgetAmount), 1, QuarterNo))`, pour calculer le total cumulé des ventes du budget pour chaque trimestre en additionnant la plage du premier trimestre à `QuarterNo`, selon l'évaluation pour chaque trimestre.

Tableau de résultats

| BudgetYear<br><br>Category | Q1 | Q2 | Q3 | Q4 |  |  |  |  |
| --- | --- | --- | --- | --- | --- | --- | --- | --- |
| Sum(BudgetAmount) | RangeSum(First(Sum(BudgetAmount), 1, QuarterNo)) | Sum(BudgetAmount) | RangeSum(First(Sum(BudgetAmount), 1, QuarterNo)) | Sum(BudgetAmount) | RangeSum(First(Sum(BudgetAmount), 1, QuarterNo)) | Sum(BudgetAmount) | RangeSum(First(Sum(BudgetAmount), 1, QuarterNo)) |  |
| (-) 2023 | 7200 | 7200 | 8000 | 15200 | 9200 | 24400 | 11200 | 35600 |
| Online | 2100 | 2100 | 2500 | 4600 | 3100 | 7700 | 4100 | 11800 |
| Store | 5100 | 5100 | 5500 | 10600 | 6100 | 16700 | 7100 | 23800 |
| (-) 2024 | 7600 | 7600 | 8600 | 16200 | 9600 | 25800 | 11800 | 37600 |
| Online | 2300 | 2300 | 2800 | 5100 | 3300 | 8400 | 4400 | 12800 |
| Store | 5300 | 5300 | 5800 | 11100 | 6300 | 17400 | 7400 | 24800 |

Les résultats montrent les chiffres du budget pour chaque année `Year` et chaque catégorie `Category`, ainsi que le total cumulé par trimestre `Quarter`. Par exemple, à `Q2` `2023`, le numéro de trimestre `QuarterNo` est `2`. Par conséquent, l'expression de la fonction est évaluée comme `RangeSum(First(Sum(BudgetAmount), 1, 2))`, qui additionne les colonnes `BudgetAmount` pour `Q1` (`7200`) et `Q2` (`8000`) et renvoie la valeur `15200`. Le résultat renvoie le total des colonnes `Sum(BudgetAmount)` pour `Q1` et `Q2`. En `2024`, pour `Category Online`, `Sum(BudgetAmount)` pour `Q1` est de `2300` et pour `Q2` de `2800`. Par conséquent, l'expression `RangeSum` renvoie `5100`.