# inyear Fonction de script et de graphique

Cette fonction renvoie la valeur True si l'argument timestamp se trouve dans l'année comprenant l'argument base\_date.

InYear (timestamp, base\_date, period\_no [, first\_month\_of\_year])

Booléen

Dans Qlik Sense, la valeur booléenne true est représentée par -1 et la valeur false par 0.

Diagramme de la plage de la fonction `inyear()`

Diagramme de la plage de la fonction `inyear()`

Diagramme de la plage de la fonction `inyear()`inyear() ![Diagramme montrant la plage temporelle évaluée par la fonction inyear() et qui renverra un résultat booléen suivant le placement de la date de référence.](https://help.qlik.com/fr-FR/sense/May2026/Subsystems/Hub/Content/Resources/Images/scripting-functions-inyear-diagram1.png)

La fonction `inyear()` renvoie un résultat booléen lors de la comparaison des valeurs de date sélectionnées à une année définie par la `base_date`.

Cas d'utilisation

La fonction `inyear()` renvoie un résultat booléen. Ce type de fonction sera généralement utilisé comme condition dans une expression `if expression`. Cela renvoie une agrégation ou un calcul suivant qu'une date évaluée s'est produite ou non au cours de l'année en question. Par exemple, la fonction `inyear()` permet d'identifier l'ensemble des ventes qui ont eu lieu au cours d'une année définie.

Arguments

| Argument | Description |
| --- | --- |
| timestamp | Date à comparer à base\_date. |
| base\_date | Date utilisée pour évaluer l'année. |
| period\_no | Il est possible de décaler l'année à l'aide de l'argument period\_no. period\_no est un entier, où la valeur 0 indique l'année comprenant l'argument base\_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. |

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

| Month | 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 |

## Paramètres régionaux

Sauf indication contraire, les exemples de cette rubrique utilisent le format de date suivant : MM/DD/YYYY. 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 où 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'Qlik Sense interface utilisateur. Qlik Sense sera affiché dans la même langue que le navigateur que vous utilisez.

Exemples de fonction

| Exemple | Résultat |
| --- | --- |
| `inyear ('01/25/2013', '01/01/2013', 0 )` | Renvoie TRUE |
| `inyear ('01/25/2012', '01/01/2013', 0)` | Renvoie FALSE |
| `inyear ('01/25/2013', '01/01/2013', -1)` | Renvoie FALSE |
| `inyear ('01/25/2012', '01/01/2013', -1 )` | Renvoie TRUE |
| `inyear ('01/25/2013', '01/01/2013', 0, 3)` | Renvoie TRUE<br><br>Les valeurs de `base_date` et de `first_month_of_year` spécifient que l'horodatage doit tomber entre le 01/03/2012 et le 02/28/2013. |
| `inyear ('03/25/2013', '07/01/2013', 0, 3 )` | Renvoie TRUE |

## Exemple 1 - exemple de base

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

* Instruction preceding load qui contient la fonction `inyear()` définie comme le champ ‘`in_year`’ et qui détermine les transactions qui ont eu lieu au cours de la même année que celle du 26 juillet 2021.

Script de chargement

```
SET DateFormat='MM/DD/YYYY'; 
Transactions: 
    Load 
        *, 
        inyear(date,'07/26/2021', 0) as in_year 
        ; 
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`
* `in_year`

Tableau de résultats

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

Le champ ‘`in_year`’ est créé dans l'instruction LOAD précédente à l'aide de la fonction `inyear()`. Le premier argument identifie le champ en cours d'évaluation. Le deuxième argument est une date codée en dur du 26 juillet 2021, qui est la valeur `base_date` qui identifie l'année de comparaison. Un argument `period_no` égal à `0` constitue l'argument final, ce qui signifie que la fonction `inyear()` ne compare pas les années précédant ou suivant l'année.

Diagramme de la plage de la fonction `inyear()` avec le 26 juillet comme date de référence

Diagramme de la plage de la fonction `inyear()` avec le 26 juillet comme date de référence

Diagramme de la plage de la fonction `inyear()`inyear() avec le 26 juillet comme date de référence ![Diagramme de la fonction inyear() avec le 26 juillet comme date de référence et la plage temporelle du 1er janvier 2021 au 1er janvier 2022 en surbrillance.](https://help.qlik.com/fr-FR/sense/May2026/Subsystems/Hub/Content/Resources/Images/scripting-functions-inyear-examples1_and4-diagram.png)

Toute transaction qui a lieu en 2021 renvoie un résultat booléen TRUE.

## Exemple 2 - period\_no

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

* Chargement précédent qui contient la fonction `inyear()` définie comme le champ ‘`previous_year`’ et qui détermine les transactions qui ont eu lieu au cours de l'année précédant l'année contenant le 26 juillet 2021.

Script de chargement

```
SET DateFormat='MM/DD/YYYY'; 
Transactions: 
    Load 
        *, 
        inyear(date,'07/26/2021', -1) as previous_year 
        ; 
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`
* `previous_year`

Tableau de résultats

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

Si on applique la valeur `-1` à l'argument `period_no` dans la fonction `inyear()`, les limites de l'année de comparaison sont décalées d'une année complète en arrière. L'année 2021 est initialement identifiée comme l'année de comparaison. L'argument`period_no` décale l'année de comparaison d'une année, faisant de l'année 2020 l'année de comparaison.

Diagramme de la plage de la fonction `inyear()` avec l'argument period\_no défini sur `-1`

Diagramme de la plage de la fonction `inyear()` avec l'argument period\_no défini sur `-1`

Diagramme de la plage de la fonction `inyear()`inyear() avec l'argument period\_no défini sur `-1`-1 ![Diagramme de la fonction inyear() avec le 26 juillet comme date de référence et l'argument period_no défini sur moins un.](https://help.qlik.com/fr-FR/sense/May2026/Subsystems/Hub/Content/Resources/Images/scripting-functions-inyear-example2-diagram.png)

Par conséquent, toute transaction qui a lieu en 2020 renvoie un résultat booléen TRUE.

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

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

* Chargement précédent qui contient la fonction `inyear()` définie comme le champ ‘`in_year`’ et qui détermine les transactions qui ont eu lieu au cours de la même année que celle du 26 juillet 2021.

Cependant, dans cet exemple, la stratégie organisationnelle exige que mars soit le premier mois de l'exercice financier.

Script de chargement

```
SET DateFormat='MM/DD/YYYY'; 
Transactions: 
    Load 
        *, 
        inyear(date,'07/26/2021', 0, 3) as in_year 
        ; 
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`
* `in_year`

Tableau de résultats

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

L'application de la valeur `3` à l'argument `first_month_of_year` dans la fonction `inyear()` fait commencer l'année le 1er mars et la fait se terminer à la fin du mois de février.

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

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

Diagramme de la plage de la fonction `inyear()`inyear() avec le mois de mars défini comme le premier mois de l'année ![Diagramme de la fonction inyear() avec le 26 juillet comme date de référence et le premier mois de l'année défini sur mars.](https://help.qlik.com/fr-FR/sense/May2026/Subsystems/Hub/Content/Resources/Images/scripting-functions-inyear-example3-diagram.png)

Par conséquent, toute transaction effectuée entre le 1er mars 2021 et le 1er mars 2022 renverra un résultat booléen TRUE.

## Exemple 4 - exemple objet graphique

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

#### Script de chargement et expression de graphique

Vue d'ensemble

Le même jeu de données et le même scénario que ceux du premier exemple sont utilisés.

Cependant, dans cet exemple, le jeu de données est le même et chargé dans l'application. Le calcul qui détermine si des transactions ont eu lieu au cours de la même année que celle du 26 juillet 2021 est créé sous forme de mesure dans un objet graphique de l'application.

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 si des transactions ont eu lieu au cours de la même année que celle du 26 juillet 2021, créez la mesure suivante :

* `=inyear(date,'07/26/2021', 0)`

Tableau de résultats

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

Le champ ‘`in_year`’ est créé dans le graphique à l'aide de la fonction `inyear()`. Le premier argument identifie le champ en cours d'évaluation. Le deuxième argument est une date codée en dur du 26 juillet 2021, qui est la valeur `base_date` qui identifie l'année de comparaison. Un argument `period_no` égal à `0` constitue l'argument final, ce qui signifie que la fonction `inyear()` ne compare pas les années précédant ou suivant l'année.

Diagramme de la plage de la fonction `inyear()` avec le 27 juillet comme date de référence

Diagramme de la plage de la fonction `inyear()` avec le 27 juillet comme date de référence

Diagramme de la plage de la fonction `inyear()`inyear() avec le 27 juillet comme date de référence ![Diagramme de la fonction inyear() avec le 27 juillet comme date de référence et la plage temporelle du 1er janvier 2021 au 1er janvier 2022 en surbrillance.](https://help.qlik.com/fr-FR/sense/May2026/Subsystems/Hub/Content/Resources/Images/scripting-functions-inyear-examples1_and4-diagram.png)

Toute transaction qui a lieu en 2021 renvoie un résultat booléen TRUE.

## Exemple 5 - scénario

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/inyear.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 chargé dans une table appelée ‘Products’.

* La table contient les champs suivants :

  * ID de produit

  * Type de produit

  * Date de fabrication

  * Coût

L'utilisateur final souhaite un objet graphique qui affiche, par type de produit, le coût des produits fabriqués en 2021.

Script de chargement

```
Products: 
Load 
* 
Inline  
[ 
product_id,product_type,manufacture_date,cost_price 
8188,product A,'01/13/2020',37.23 
8189,product B,'02/26/2020',17.17 
8190,product B,'03/27/2020',88.27 
8191,product C,'04/16/2020',57.42 
8192,product D,'05/21/2020',53.80 
8193,product D,'08/14/2020',82.06 
8194,product C,'10/07/2020',40.39 
8195,product B,'12/05/2020',87.21
8196,product A,'01/22/2021',95.93 
8197,product B,'02/03/2021',45.89 
8198,product C,'03/17/2021',36.23 
8199,product C,'04/23/2021',25.66
8200,product B,'05/04/2021',82.77 
8201,product D,'06/30/2021',69.98 
8202,product D,'07/26/2021',76.11 
8203,product D,'12/27/2021',25.12 
8204,product C,'06/06/2022',46.23 
8205,product C,'07/18/2022',84.21 
8206,product A,'11/14/2022',96.24 
8207,product B,'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 :

* product\_type

Pour calculer la somme de chaque produit fabriqué en 2021, créez la mesure suivante :

* =sum(if(InYear(manufacture\_date,makedate(2021,01,01),0),cost\_price,0))

Procédez comme suit :

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

2. Sous Aspect, désactivez Totals (Totaux).

Tableau de résultats

| product\_type | =sum(if(InYear(manufacture\_date,makedate(2021,01,01),0),cost\_price,0)) |
| --- | --- |
| product A | $95.93 |
| product B | $128.66 |
| product C | $61.89 |
| product D | $171.21 |

La fonction inyear() renvoie une valeur booléenne lors de l'évaluation des dates de fabrication de chacun des produits. Pour tout produit fabriqué en 2021, la fonction inyear() renvoie une valeur booléenne TRUE et affiche la somme des valeurs cost\_price.