# addyears - Fonction de script et de graphique

Cette fonction renvoie la date correspondant à n années après la date startdate ou, si n est une valeur négative, la date correspondant à n années avant la date startdate.

AddYears(startdate, n)

double

Exemple de diagramme de la fonction `addyears()`

Exemple de diagramme de la fonction `addyears()`

Exemple de diagramme de la fonction `addyears()`addyears() ![Exemple de diagramme montrant comment les différents composants de la fonction addyears convergent pour produire une date de sortie.](https://help.qlik.com/fr-FR/sense/November2025/Subsystems/Hub/Content/Resources/Images/scripting-functions-addyears_overview.png)

La fonction `addyears()` ajoute ou soustrait un nombre défini d'années, `n`, d'une `startdate`. Elle renvoie ensuite la date obtenue.

Arguments

| Argument | Description |
| --- | --- |
| startdate | Date de début sous forme d'horodatage, par exemple '2012-10-12'. |
| n | Nombre d'années sous forme d'entier positif ou négatif. |

Exemples de fonction

| Exemple | Résultat |
| --- | --- |
| `addyears ('01/29/2010',3)` | Renvoie '01/29/2013'. |
| `addyears ('01/29/2010',-1)` | Renvoie '01/29/2009'. |

## Paramètres régionaux

Sauf indication contraire, les exemples de cette rubrique utilisent le format de date suivant : MM/JJ/AAAA. Le format de date est indiqué dans l'instruction `SET DateFormat` de votre script de chargement de données. Le format de date par défaut peut être différent dans votre système en raison de vos paramètres régionaux et d'autres facteurs. Vous pouvez modifier les formats utilisés dans les exemples ci-dessous en fonction de vos besoins. Ou vous pouvez modifier les formats utilisés dans votre script de chargement pour qu'ils correspondent à ceux de ces exemples.

Les paramètres régionaux par défaut des applications sont basés sur les paramètres système régionaux de l'ordinateur ou du serveur sur lequel Qlik Sense est installé. Si le serveur Qlik Sense auquel vous accédez est configuré sur la Suède, l'éditeur de chargement de données utilisera les paramètres régionaux suédois pour les dates, l'heure et la devise. Ces paramètres de format régionaux ne sont pas liés à la langue affichée dans l'interface utilisateur Qlik Sense. Qlik Sense sera affiché dans la même langue que celle du navigateur que vous utilisez.

## Exemple 1 – exemple simple

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/addyears.htm)

#### Script de chargement et résultats

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 contenant un ensemble de transactions entre 2020 et 2022, chargé dans une table appelée `Transactions`.

* Champ de date fourni dans la variable système `DateFormat` au format (MM/DD/YYYY).

* Création d'un champ, `two_years_later`, qui renvoie la date tombant deux ans après la transaction.

Script de chargement

```
SET DateFormat='MM/DD/YYYY';

Transactions:
    Load
        *,
        addyears(date,2) as two_years_later
        ;
Load
*
Inline 
[
id,date,amount
8188,'01/10/2020',37.23
8189,'02/28/2020',17.17
8190,'04/09/2020',88.27
8191,'04/16/2020',57.42
8192,'05/21/2020',53.80
8193,'08/14/2020',82.06
8194,'10/07/2020',40.39
8195,'12/05/2020',87.21
8196,'01/22/2021',95.93
8197,'02/03/2021',45.89
8198,'03/17/2021',36.23
8199,'04/23/2021',25.66
8200,'05/04/2021',82.77
8201,'06/30/2021',69.98
8202,'07/26/2021',76.11
8203,'12/27/2021',25.12
8204,'02/02/2022',46.23
8205,'02/26/2022',84.21
8206,'03/07/2022',96.24
8207,'03/11/2022',67.67
];
```

Résultats

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

* `date`

* `two_years_later`

Tableau de résultats

| date | two\_years\_later |
| --- | --- |
| 01/10/2020 | 01/10/2022 |
| 02/28/2020 | 02/28/2022 |
| 04/09/2020 | 04/09/2022 |
| 04/16/2020 | 04/16/2022 |
| 05/21/2020 | 05/21/2022 |
| 08/14/2020 | 08/14/2022 |
| 10/07/2020 | 10/07/2022 |
| 12/05/2020 | 12/05/2022 |
| 01/22/2021 | 01/22/2023 |
| 02/03/2021 | 02/03/2023 |
| 03/17/2021 | 03/17/2023 |
| 04/23/2021 | 04/23/2023 |
| 05/04/2021 | 05/04/2023 |
| 06/30/2021 | 06/30/2023 |
| 07/26/2021 | 07/26/2023 |
| 12/27/2021 | 12/27/2023 |
| 02/02/2022 | 02/02/2024 |
| 02/26/2022 | 02/26/2024 |
| 03/07/2022 | 03/07/2024 |
| 03/11/2022 | 03/11/2024 |

Le champ `two_years_later` est créé dans l'instruction preceding load à l'aide de la fonction `addyears()`. Le premier argument fourni identifie la date en cours d'évaluation. Le deuxième argument est le nombre d'années à ajouter à ou à soustraire de la date de début. Dans cet exemple, la valeur 2 est fournie.

Diagramme de la fonction `addyears()`, exemple de base

Diagramme de la fonction `addyears()`, exemple de base

Diagramme de la fonction `addyears()`addyears(), exemple de base![Diagramme de la fonction addyears montrant comment la transaction 8193 du script de chargement est convertie d'une date d'entrée en une date de sortie obtenue.](https://help.qlik.com/fr-FR/sense/November2025/Subsystems/Hub/Content/Resources/Images/scripting-functions-addyears-examples-basic.png)

La transaction 8193 a eu lieu le 14 août 2020. Par conséquent, la fonction `addyears()` renvoie le 14 août 2022 pour le champ `two_years_later`.

## Exemple 2 – exemple objet graphique

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/addyears.htm)

#### Script de chargement et 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 contenant un ensemble de transactions entre 2020 et 2022, chargé dans une table appelée `Transactions`.

* Champ de date fourni dans la variable système `DateFormat` au format (MM/DD/YYYY).

Dans un objet graphique, créez une mesure, `prior_year_date`, qui renvoie la date tombant un an avant la transaction.

Script de chargement

```
SET DateFormat='MM/DD/YYYY';

Transactions:
Load
*
Inline 
[
id,date,amount
8188,'01/10/2020',37.23
8189,'02/28/2020',17.17
8190,'04/09/2020',88.27
8191,'04/16/2020',57.42
8192,'05/21/2020',53.80
8193,'08/14/2020',82.06
8194,'10/07/2020',40.39
8195,'12/05/2020',87.21
8196,'01/22/2021',95.93
8197,'02/03/2021',45.89
8198,'03/17/2021',36.23
8199,'04/23/2021',25.66
8200,'05/04/2021',82.77
8201,'06/30/2021',69.98
8202,'07/26/2021',76.11
8203,'12/27/2021',25.12
8204,'02/02/2022',46.23
8205,'02/26/2022',84.21
8206,'03/07/2022',96.24
8207,'03/11/2022',67.67
];
```

Résultats

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

Pour calculer la date tombant un an avant chaque transaction, créez la mesure suivante :

`=addyears(date,-1)`

Tableau de résultats

| date | =addyears(date,-1) |
| --- | --- |
| 01/10/2020 | 01/10/2019 |
| 02/28/2020 | 02/28/2019 |
| 04/09/2020 | 04/09/2019 |
| 04/16/2020 | 04/16/2019 |
| 05/21/2020 | 05/21/2019 |
| 08/14/2020 | 08/14/2019 |
| 10/07/2020 | 10/07/2019 |
| 12/05/2020 | 12/05/2019 |
| 01/22/2021 | 01/22/2020 |
| 02/03/2021 | 02/03/2020 |
| 03/17/2021 | 03/17/2020 |
| 04/23/2021 | 04/23/2020 |
| 05/04/2021 | 05/04/2020 |
| 06/30/2021 | 06/30/2020 |
| 07/26/2021 | 07/26/2020 |
| 12/27/2021 | 12/27/2020 |
| 02/02/2022 | 02/02/2021 |
| 02/26/2022 | 02/26/2021 |
| 03/07/2022 | 03/07/2021 |
| 03/11/2022 | 03/11/2021 |

La mesure `one_year_prior` est créée dans l'objet graphique à l'aide de la fonction `addyears()`. Le premier argument fourni identifie la date en cours d'évaluation. Le deuxième argument est le nombre d'années à ajouter à ou à soustraire de la `  startdate `. Dans cet exemple, la valeur -1 est fournie.

Diagramme de la fonction `addyears()`, exemple objet graphique

Diagramme de la fonction `addyears()`, exemple objet graphique

Diagramme de la fonction `addyears()`addyears(), exemple objet graphique![Diagramme de la fonction addyears montrant comment la transaction 8193 du script de chargement est convertie d'une date d'entrée en une date de sortie obtenue.](https://help.qlik.com/fr-FR/sense/November2025/Subsystems/Hub/Content/Resources/Images/scripting-functions-addyears-examples-chart-object.png)

La transaction 8193 a eu lieu le 14 août. Par conséquent, la fonction `addyears()` renvoie le 14 août 2019 pour le champ `one_year_prior`.

## Exemple 3 – scénario

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/addyears.htm)

#### Script de chargement et 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 appelée `Warranties`.

* Information avec l'ID de produit, la date d'achat, la durée de la garantie et le prix d'achat.

L'utilisateur final souhaite un objet graphique qui affiche, par ID de produit, la date de fin de garantie de chaque produit.

Script de chargement

```
Warranties:
Load
*
Inline 
[
product_id,purchase_date,warranty_length,purchase_price
8188,'01/13/2020',4,32000
8189,'02/26/2020',2,28000
8190,'03/27/2020',3,41000
8191,'04/16/2020',4,17000
8192,'05/21/2020',2,25000
8193,'08/14/2020',1,59000
8194,'10/07/2020',2,12000
8195,'12/05/2020',3,12000
8196,'01/22/2021',4,24000
8197,'02/03/2021',1,50000
8198,'03/17/2021',2,80000
8199,'04/23/2021',3,10000
8200,'05/04/2021',4,30000
8201,'06/30/2021',3,30000
8202,'07/26/2021',4,20000
8203,'12/27/2021',4,10000
8204,'06/06/2022',2,25000
8205,'07/18/2022',1,32000
8206,'11/14/2022',1,30000
8207,'12/12/2022',4,22000
];
```

Résultats

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

* `product_id`

* `purchase_date`

* `warranty_length`

Pour calculer la date de fin de garantie de chaque produit, créez la mesure suivante :

`=addyears(purchase_date,warranty_length)`

Tableau de résultats

| product\_id | purchase\_date | warranty\_length | =addyears(purchase\_date,warranty\_length) |
| --- | --- | --- | --- |
| 8188 | 01/13/2020 | 4 | 01/13/2024 |
| 8189 | 02/26/2020 | 2 | 02/26/2022 |
| 8190 | 03/27/2020 | 3 | 03/27/2023 |
| 8191 | 04/16/2020 | 4 | 04/16/2024 |
| 8192 | 05/21/2020 | 2 | 05/21/2022 |
| 8193 | 08/14/2020 | 1 | 08/14/2021 |
| 8194 | 10/07/2020 | 2 | 10/07/2022 |
| 8195 | 12/05/2020 | 3 | 12/05/2023 |
| 8196 | 01/22/2021 | 4 | 01/22/2025 |
| 8197 | 02/03/2021 | 1 | 02/03/2022 |
| 8198 | 03/17/2021 | 2 | 03/17/2023 |
| 8199 | 04/23/2021 | 3 | 04/23/2024 |
| 8200 | 05/04/2021 | 4 | 05/04/2025 |
| 8201 | 06/30/2021 | 3 | 06/30/2024 |
| 8202 | 07/26/2021 | 4 | 07/26/2025 |
| 8203 | 12/27/2021 | 4 | 12/27/2025 |
| 8204 | 06/06/2022 | 2 | 06/06/2024 |
| 8205 | 07/18/2022 | 1 | 07/18/2023 |
| 8206 | 11/14/2022 | 1 | 11/14/2023 |
| 8207 | 12/12/2022 | 4 | 12/12/2026 |