# Before - fonction de graphique

Before() renvoie la valeur d'une expression évaluée avec les valeurs de dimension d'un tableau croisé dynamique telles qu'elles figurent dans la colonne précédant la colonne active dans un segment de ligne du tableau.

Syntaxe :

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

Note InformationsCette 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.

Arguments

| Argument | Description |
| --- | --- |
| expr | 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 à gauche de la colonne active.<br><br>Si vous spécifiez un décalage égal à 0, l'expression est évaluée sur la colonne active.<br><br>Si vous spécifiez un décalage négatif, la fonction Before aboutit au même résultat que la fonction After 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 gauche 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) |

Pour la première colonne d'un segment de ligne, la fonction renvoie une valeur NULL, puisqu'il n'y a pas de colonne avant.

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 |
| --- | --- |
| `Before( Sum(Sales ))` | Renvoie la somme des ventes `Sales` de la colonne précédente immédiatement à gauche de la colonne active. |
| `Before( Sum(Sales ), 2)` | Renvoie la somme des ventes `Sales` de la colonne qui se trouve deux colonnes à gauche de la colonne active. |
| `Before( Total Sum( Sales ))` | Renvoie la somme totale des ventes `Sales` de la colonne précédente immédiatement à gauche de la colonne active. |
| `RangeAvg ( Before(Sum(x),1,3))` | Renvoie une moyenne des trois résultats de la fonction `sum(x)` évaluée dans les trois colonnes immédiatement à gauche de la colonne active. |

## Exemple - Les bases de Before

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

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.

* `=Before(Sum(Sales))`, pour indiquer la somme des ventes au cours du trimestre précédent.

Tableau de résultats

| Année | Q1 | Q2 | Q3 | Q4 |  |  |  |  |
| --- | --- | --- | --- | --- | --- | --- | --- | --- |
| Sum(Sales) | Before(Sum(Sales)) | Sum(Sales) | Before(Sum(Sales)) | Sum(Sales) | Before(Sum(Sales)) | Sum(Sales) | Before(Sum(Sales)) |  |
| 2023 | 5000 | - | 4000 | 5000 | 6000 | 4000 | 7000 | 6000 |

En examinant les résultats, vous pouvez voir que la fonction `Before` renvoie la valeur de la colonne précédente qui se trouve immédiatement à gauche de la colonne `Sum(Sales)` pour chaque trimestre `Quarter`. Par exemple, à Q4, la valeur `Sum(Sales)` pour cette période est de `7000`. La sortie de la fonction `Before` pour `Q4` est `6000`, qui est la valeur de la colonne qui se trouve immédiatement à gauche de `Sum(Sales)` pour `Q4`, à savoir la valeur de `Sum(Sales)` pour `Q3`.

## Exemple - Utilisation de la fonction Before pour calculer la croissance des ventes d'une année sur l'autre

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

#### Expression de graphique

Vue d'ensemble

Un jeu de données contient des chiffres de ventes pour plusieurs années. L'entreprise souhaite présenter le total des ventes pour chaque année et la croissance des ventes par rapport à la valeur de l'année précédente.

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`

  * `Sales`

Script de chargement

```
Example:
Load * inline [
Year, Sales
2021, 1300
2022, 1800
2023, 2000
2024, 2100
];
```

Résultats

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

* ` Year
                                       `

Créez les mesures suivantes :

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

* `=(Sum(Sales) - Before(Sum(Sales))) / Before(Sum(Sales))`, pour calculer la croissance annuelle des ventes. 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

| 2021 | 2022 | 2023 | 2024 |  |  |  |  |
| --- | --- | --- | --- | --- | --- | --- | --- |
| Sum(Sales) | (Sum(Sales) - Before(Sum(Sales)))/Before(Sum(Sales)) | Sum(Sales) | (Sum(Sales) - Before(Sum(Sales)))/Before(Sum(Sales)) | Sum(Sales) | (Sum(Sales) - Before(Sum(Sales)))/Before(Sum(Sales)) | Sum(Sales) | (Sum(Sales) - Before(Sum(Sales)))/Before(Sum(Sales)) |
| 1300 | - | 1800 | 38.46% | 2000 | 11.11% | 2100 | 5.00% |

La sortie de la fonction `Before` renvoie la croissance d'une année sur l'autre par rapport aux chiffres de ventes de l'année précédente. Par exemple, la somme des ventes pour `2022` était `38.46%` plus élevée que celle de `Sum(Sales)` pour `2021`.

Note ConseilVous pouvez également utiliser la fonction `After` pour effectuer le même calcul de croissance des ventes dans ce scénario. Si vous spécifiez un chiffre de décalage négatif dans les paramètres de la fonction, la fonction `After` se comporte comme la fonction `Before` avec le chiffre de décalage positif correspondant. Par exemple, l'expression suivante utilisant la fonction `After` (avec une valeur de décalage négative de `-1`) renvoie les mêmes résultats de croissance annuelle des ventes que la fonction `Before` :   
`=(Sum(Sales)-After(Sum(Sales),-1))/(After(Sum(Sales),-1))`.