# yearname - fonction de script et fonction de graphique

Cette fonction renvoie une année composée de quatre chiffres comme valeur d'affichage avec une valeur numérique sous-jacente correspondant à un horodatage de la première milliseconde du premier jour de l'année contenant l'argument date.

Diagramme de plage de temps de la fonction `yearname()`.

Diagramme de plage de temps de la fonction `yearname()`.

Diagramme de plage de temps de la fonction `yearname()`yearname(). ![Diagramme montrant la plage de temps dans laquelle la fonction yearname renverra un résultat.](https://help.qlik.com/fr-FR/sense/May2025/Subsystems/Hub/Content/Resources/Images/scripting-functions-yearname-diagram1.png)

La fonction `yearname()` est différente de la fonction `year()`, car elle vous permet de décaler la date que vous souhaitez évaluer et de définir le premier mois de l'année.

Si le premier mois de l'année n'est pas janvier, la fonction renverra les deux années de quatre chiffres sur la période de douze mois contenant la date. Par exemple, si le début de l'année est avril et si la date évaluée est 06/30/2020, le résultat renvoyé sera `2020-2021`.

Diagramme de la fonction `yearname()` avec avril défini comme le premier mois de l'année.

Diagramme de la fonction `yearname()` avec avril défini comme le premier mois de l'année.

Diagramme de la fonction `yearname()`yearname() avec avril défini comme le premier mois de l'année. ![Diagramme montrant que la fonction yearname peut identifier des dates dans une période de douze mois et que son résultat peut dépendre du mois défini comme le premier mois de l'année.](https://help.qlik.com/fr-FR/sense/May2025/Subsystems/Hub/Content/Resources/Images/scripting-functions-yearname-diagram2.png)

YearName(date[, period\_no[, first\_month\_of\_year]] )

double

| Argument | Description |
| --- | --- |
| date | Date ou horodatage à évaluer. |
| period\_no | period\_no est un entier, où la valeur 0 indique l'année comprenant l'argument date. Les valeurs négatives de l'argument period\_no indiquent les années passés tandis que les valeurs positives désignent les années à venir. |
| first\_month\_of\_year | Si vous voulez utiliser des exercices (financiers) qui ne commencent pas en janvier, indiquez une valeur comprise entre 2 et 12 dans l'argument first\_month\_of\_year. La valeur d'affichage sera alors une chaîne indiquant deux années. |

Vous pouvez utiliser les valeurs suivantes pour définir le premier mois de l'année dans l'argument `first_month_of_year` :

Valeurs first\_month\_of\_year

| Mois | Valeur |
| --- | --- |
| Février | 2 |
| Mars | 3 |
| Avril | 4 |
| Mai | 5 |
| Juin | 6 |
| Juillet | 7 |
| Août | 8 |
| Septembre | 9 |
| Octobre | 10 |
| Novembre | 11 |
| Décembre | 12 |

Cas d'utilisation

La fonction `yearname()` est utile pour comparer des agrégations par année. Par exemple, si vous souhaitez voir les ventes totales de produits par an.

Il est possible de créer ces dimensions dans le script de chargement via la fonction permettant de créer un champ dans une table Master Calendar. Elles peuvent également être créées dans un graphique sous forme de dimensions calculées.

## 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.

Exemples de fonction

| Exemple | Résultat |
| --- | --- |
| `yearname('10/19/2001')` | Renvoie '2001.' |
| `yearname('10/19/2001',-1)` | Renvoie '2000.' |
| `yearname('10/19/2001',0,4)` | Renvoie '2001-2002.' |

Rubriques connexes

| Rubrique | Description |
| --- | --- |
| [year - fonction de script et fonction de graphique](https://help.qlik.com/fr-FR/sense/May2025/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/year.htm) | Cette fonction renvoie un entier représentant l'année au cours de laquelle l'expression est interprétée comme une date selon l'interprétation standard des nombres. |

## Exemple 1 – aucun argument supplémentaire

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/yearname.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`'.

* Variable système `DateFormat` définie sur '`MM/DD/YYYY`'.

* Instruction preceding load utilisant la valeur `yearname()` et définie sous forme de champ `year_name`.

Script de chargement

```
SET DateFormat='MM/DD/YYYY'; 
						
Transactions: 
    Load 
      *, 
      yearname(date) as year_name 
      ; 
Load 
* 
Inline  
[ 
id,date,amount 
8188,'01/13/2020',37.23 
8189,'02/26/2020',17.17 
8190,'03/27/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,'06/06/2022',46.23 
8205,'07/18/2022',84.21 
8206,'11/14/2022',96.24 
8207,'12/12/2022',67.67 
]; 
```

Résultats

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

* `date`
* `year_name`

Tableau de résultats

| date | year\_name |
| --- | --- |
| 01/13/2020 | 2020 |
| 02/26/2020 | 2020 |
| 03/27/2020 | 2020 |
| 04/16/2020 | 2020 |
| 05/21/2020 | 2020 |
| 08/14/2020 | 2020 |
| 10/07/2020 | 2020 |
| 12/05/2020 | 2020 |
| 01/22/2021 | 2021 |
| 02/03/2021 | 2021 |
| 03/17/2021 | 2021 |
| 04/23/2021 | 2021 |
| 05/04/2021 | 2021 |
| 06/30/2021 | 2021 |
| 07/26/2021 | 2021 |
| 12/27/2021 | 2021 |
| 06/06/2022 | 2022 |
| 07/18/2022 | 2022 |
| 11/14/2022 | 2022 |
| 12/12/2022 | 2022 |

Le champ '`year_name`' est créé dans l'instruction preceding load via la fonction `yearname()` et en transmettant le champ date comme argument de la fonction.

La fonction `yearname()` identifie l'année dans laquelle tombe la valeur de date et la renvoie sous la forme d'une valeur d'année à quatre chiffres.

Diagramme de la fonction `yearname()` qui affiche 2021 comme valeur de l'année.

Diagramme de la fonction `yearname()` qui affiche 2021 comme valeur de l'année.

Diagramme de la fonction `yearname()`yearname() qui affiche 2021 comme valeur de l'année.![Diagramme montrant que la fonction yearname() renvoie 2021 pour la date du 17 mars 2021.](https://help.qlik.com/fr-FR/sense/May2025/Subsystems/Hub/Content/Resources/Images/scripting-functions-yearname-example1-diagram.png)

## Exemple 2 – period\_no

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/yearname.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'.

* Variable système DateFormat définie sur '`MM/DD/YYYY`'.

* Chargement précédent utilisant la valeur `yearname()` et défini sous forme de champ `year_name`.

Script de chargement

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

Transactions: 
    Load 
      *, 
      yearname(date,-1) as prior_year_name 
      ; 
Load 
* 
Inline  
[ 
id,date,amount 
8188,'01/13/2020',37.23 
8189,'02/26/2020',17.17 
8190,'03/27/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,'06/06/2022',46.23 
8205,'07/18/2022',84.21 
8206,'11/14/2022',96.24 
8207,'12/12/2022',67.67 
];  
```

Résultats

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

* `date`
* `prior_year_name`

Tableau de résultats

| date | prior\_year\_name |
| --- | --- |
| 01/13/2020 | 2019 |
| 02/26/2020 | 2019 |
| 03/27/2020 | 2019 |
| 04/16/2020 | 2019 |
| 05/21/2020 | 2019 |
| 08/14/2020 | 2019 |
| 10/07/2020 | 2019 |
| 12/05/2020 | 2019 |
| 01/22/2021 | 2020 |
| 02/03/2021 | 2020 |
| 03/17/2021 | 2020 |
| 04/23/2021 | 2020 |
| 05/04/2021 | 2020 |
| 06/30/2021 | 2020 |
| 07/26/2021 | 2020 |
| 12/27/2021 | 2020 |
| 06/06/2022 | 2021 |
| 07/18/2022 | 2021 |
| 11/14/2022 | 2021 |
| 12/12/2022 | 2021 |

Étant donné qu'une valeur `period_no` de `-1` est utilisée comme argument de décalage dans la fonction `yearname()`, la fonction commence par identifier l'année au cours de laquelle les transactions ont lieu. La fonction se décale ensuite d'un an en arrière et renvoie l'année obtenue.

Diagramme de la fonction `yearname()` avec la valeur `period_no` définie sur `-1`.

Diagramme de la fonction `yearname()` avec la valeur `period_no` définie sur `-1`.

Diagramme de la fonction `yearname()`yearname() avec la valeur `period_no`period\_no définie sur `-1`-1.![Diagramme montrant comment une valeur period_no de moins un modifie les plages de temps identifiées par la fonction yearname().](https://help.qlik.com/fr-FR/sense/May2025/Subsystems/Hub/Content/Resources/Images/scripting-functions-yearname-example2-diagram.png)

## Exemple 3 – first\_month\_of\_year

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/yearname.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 :

* Le même jeu de données que dans le premier exemple.

* Variable système `DateFormat` définie sur '`MM/DD/YYYY`'.

* Chargement précédent utilisant la valeur `yearname()` et défini sous forme de champ `year_name`.

Script de chargement

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

Transactions: 
    Load 
      *, 
      yearname(date,0,4) as year_name 
      ; 
Load 
* 
Inline  
[ 
id,date,amount 
8188,'01/13/2020',37.23 
8189,'02/26/2020',17.17 
8190,'03/27/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,'06/06/2022',46.23 
8205,'07/18/2022',84.21 
8206,'11/14/2022',96.24 
8207,'12/12/2022',67.67 
];
```

Résultats

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

* `id`
* `date`
* `year_name`

Tableau de résultats

| date | year\_name |
| --- | --- |
| 01/13/2020 | 2019-2020 |
| 02/26/2020 | 2019-2020 |
| 03/27/2020 | 2019-2020 |
| 04/16/2020 | 2020-2021 |
| 05/21/2020 | 2020-2021 |
| 08/14/2020 | 2020-2021 |
| 10/07/2020 | 2020-2021 |
| 12/05/2020 | 2020-2021 |
| 01/22/2021 | 2020-2021 |
| 02/03/2021 | 2020-2021 |
| 03/17/2021 | 2020-2021 |
| 04/23/2021 | 2021-2022 |
| 05/04/2021 | 2021-2022 |
| 06/30/2021 | 2021-2022 |
| 07/26/2021 | 2021-2022 |
| 12/27/2021 | 2021-2022 |
| 06/06/2022 | 2022-2023 |
| 07/18/2022 | 2022-2023 |
| 11/14/2022 | 2022-2023 |
| 12/12/2022 | 2022-2023 |

Étant donné que l'argument `first_month_of_year` de `4` est utilisé dans la fonction `yearname()`, le début de l'année se déplace du 1er janvier au 1er avril. Par conséquent, chaque période de douze mois traverse deux années civiles et la fonction `yearname()` renvoie les deux années à quatre chiffres des dates évaluées.

La transaction 8198 a lieu le 17 mars 2021. La fonction `yearname()` définit le début de l'année comme le 1er avril et la fin comme le 30 mars. Par conséquent, la transaction 8198 a eu lieu au cours de la période annuelle du 1er avril 2020 au 30 mars 2021. C'est pourquoi la fonction `yearname()` renvoie la valeur 2020-2021.

Diagramme de la fonction `yearname()` avec mars défini comme le premier mois de l'année.

Diagramme de la fonction `yearname()` avec mars défini comme le premier mois de l'année.

Diagramme de la fonction `yearname()`yearname() avec mars défini comme le premier mois de l'année.![Diagramme montrant la plage de temps que la fonction yearname() identifie lorsque le premier mois de l'année est défini sur mars.](https://help.qlik.com/fr-FR/sense/May2025/Subsystems/Hub/Content/Resources/Images/scripting-functions-yearname-example3-diagram.png)

## Exemple 4 – Exemple d'objet graphique

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/yearname.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 :

* Le même jeu de données que dans le premier exemple.

* Variable système `DateFormat` définie sur '`MM/DD/YYYY`'.

Cependant, le champ qui renvoie l'année au cours de laquelle la transaction a eu lieu est créé sous forme de mesure dans un objet graphique.

Script de chargement

```
SET DateFormat='MM/DD/YYYY'; 
						
Transactions: 
Load 
* 
Inline  
[ 
id,date,amount 
8188,'01/13/2020',37.23 
8189,'02/26/2020',17.17 
8190,'03/27/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,'06/06/2022',46.23 
8205,'07/18/2022',84.21 
8206,'11/14/2022',96.24 
8207,'12/12/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 le champ '`year_name`', créez la mesure suivante :

`=yearname(date)`

Tableau de résultats

| date | =yearname(date) |
| --- | --- |
| 01/13/2020 | 2020 |
| 02/26/2020 | 2020 |
| 03/27/2020 | 2020 |
| 04/16/2020 | 2020 |
| 05/21/2020 | 2020 |
| 08/14/2020 | 2020 |
| 10/07/2020 | 2020 |
| 12/05/2020 | 2020 |
| 01/22/2021 | 2021 |
| 02/03/2021 | 2021 |
| 03/17/2021 | 2021 |
| 04/23/2021 | 2021 |
| 05/04/2021 | 2021 |
| 06/30/2021 | 2021 |
| 07/26/2021 | 2021 |
| 12/27/2021 | 2021 |
| 06/06/2022 | 2022 |
| 07/18/2022 | 2022 |
| 11/14/2022 | 2022 |
| 12/12/2022 | 2022 |

La mesure '`year_name`' est créée dans l'objet graphique via la fonction `yearname()` et en transmettant le champ date comme argument de la fonction.

La fonction `yearname()` identifie l'année dans laquelle tombe la valeur de date et la renvoie sous la forme d'une valeur d'année à quatre chiffres.

Diagramme de la fonction `yearname()` avec 2021 comme valeur d'année.

Diagramme de la fonction `yearname()` avec 2021 comme valeur d'année.

Diagramme de la fonction `yearname()`yearname() avec 2021 comme valeur d'année.![Diagramme montrant que la fonction yearname() renvoie 2021 comme valeur d'année.](https://help.qlik.com/fr-FR/sense/May2025/Subsystems/Hub/Content/Resources/Images/scripting-functions-yearname-example4-diagram.png)

## Exemple 5 – scénario

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/yearname.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 :

* Le même jeu de données que dans le premier exemple.

* Variable système DateFormat définie sur 'MM/DD/YYYY'.

L'utilisateur final souhaite un graphique présentant les ventes totales par trimestre pour les transactions. Utilisez la fonction yearname() comme dimension calculée pour créer ce graphique lorsque la dimension yearname() n'est pas disponible dans le modèle de données.

Script de chargement

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

Transactions: 
Load 
* 
Inline  
[ 
id,date,amount 
8188,'01/13/2020',37.23 
8189,'02/26/2020',17.17 
8190,'03/27/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,'06/06/2022',46.23 
8205,'07/18/2022',84.21 
8206,'11/14/2022',96.24 
8207,'12/12/2022',67.67 
];
```

Résultats

Chargez les données et ouvrez une feuille. Créez un tableau.

Pour comparer des agrégations par année, créez cette dimension calculée :

=yearname(date)

Créez cette mesure :

=sum(amount)

Définissez le Formatage des nombres des mesures sur Money (Devise).

Tableau de résultats

| yearname(date) | =sum(amount) |
| --- | --- |
| 2020 | $463.55 |
| 2021 | $457.69 |
| 2022 | $294.35 |