# inmonth Fonction de script et de graphique

Cette fonction renvoie la valeur True si l'argument timestamp se trouve dans le mois comprenant l'argument base\_date.

Syntaxe :

InMonth (timestamp, base\_date, period\_no)

Diagramme de la fonction `indaytotime`.

Diagramme de la fonction `indaytotime`.

Diagramme de la fonction `indaytotime`indaytotime. ![Diagramme montrant les conditions de la fonction inmonth.](https://help.qlik.com/fr-FR/cloud-services/Subsystems/Hub/Content/Resources/Images/dr_Diagram_InMonth.png)

En d'autres termes, la fonction `inmonth()` détermine si un ensemble de dates tombe pendant ce mois et renvoie une valeur booléenne basée sur une valeur `base_date` qui identifie le mois.

Cas d'utilisation de inmonth

La fonction `inmonth()` 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 s'est produite ou non au cours du mois, y compris la date en question.

Par exemple, la fonction `inmonth()` peut être utilisée pour identifier l'ensemble des équipements fabriqués au cours d'un mois spécifique.

Type de données renvoyé : Booléen

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

Arguments

| Argument | Description |
| --- | --- |
| timestamp | Date à comparer à `base_date`. |
| base\_date | Date utilisée pour évaluer le mois. Il est important de noter que l'argument `base_date` peut être n'importe quel jour d'un mois. |
| period\_no | Il est possible de décaler le mois à l'aide de l'argument `period_no`. `period_no` est un entier, où la valeur 0 indique le mois comprenant l'argument `base_date`. Les valeurs négatives spécifiées pour `period_no` indiquent les mois passés, tandis que les valeurs positives désignent les mois à venir. |

## 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. Pour plus d'informations, consultez [Modification des paramètres régionaux des applications et des scripts](https://help.qlik.com/fr-FR/cloud-services/Subsystems/Hub/Content/Sense_Hub/Apps/regional-settings-in-apps.htm).

Les paramètres régionaux par défaut des applications sont basés sur le profil utilisateur. Ces paramètres de format régionaux ne sont pas liés à la langue affichée dans l'interface utilisateur Qlik Cloud. Qlik Cloud sera affiché dans la même langue que celle du navigateur que vous utilisez.

Si vous êtes un créateur d'applications, vous pouvez définir la région par défaut des applications que vous créez. Pour plus d'informations, consultez [Sélection des paramètres régionaux de votre choix pour la création d'applications et de scripts dans Qlik Cloud Analytics](https://help.qlik.com/fr-FR/cloud-services/Subsystems/Hub/Content/Sense_Hub/UserInterface/Languages.htm#Setting).

Exemples de fonction

| Exemple | Résultat |
| --- | --- |
| ` inmonth ('25/01/2013', '01/01/2013', 0)  ` | Renvoie True |
| `inmonth('25/01/2013', '23/04/2013', 0)` | Renvoie False |
| ` inmonth ('25/01/2013', '01/01/2013', -1)  ` | Renvoie False |
| ` inmonth ('25/12/2012', '17/01/2013', -1)  ` | Renvoie True |

## Exemple 1 – aucun argument supplémentaire

[](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/inmonth.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 pour le premier semestre 2022.

* Une instruction preceding load avec une variable supplémentaire, '`in_month`', qui détermine si les transactions ont eu lieu en avril.

Script de chargement

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

Transactions: 
  Load 
    *, 
    inmonth(date,'04/01/2022', 0) as in_month 
    ; 
Load 
* 
Inline  
[ 
id,date,amount 
8188,'1/10/2022',37.23 
8189,'1/14/2022',17.17 
8190,'1/20/2022',88.27 
8191,'1/22/2022',57.42 
8192,'2/1/2022',53.80 
8193,'2/2/2022',82.06 
8194,'2/20/2022',40.39 
8195,'4/11/2022',87.21 
8196,'4/13/2022',95.93 
8197,'4/15/2022',45.89 
8198,'4/25/2022',36.23 
8199,'5/20/2022',25.66 
8200,'5/22/2022',82.77 
8201,'6/19/2022',69.98 
8202,'6/22/2022',76.11 
]; 
```

Résultats

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

* `date`
* `in_month`

Exemples de fonction

| date | in\_month |
| --- | --- |
| 1/10/2022 | 0 |
| 1/14/2022 | 0 |
| 1/20/2022 | 0 |
| 1/22/2022 | 0 |
| 2/1/2022 | 0 |
| 2/2/2022 | 0 |
| 2/20/2022 | 0 |
| 4/11/2022 | -1 |
| 4/13/2022 | -1 |
| 4/15/2022 | -1 |
| 4/25/2022 | -1 |
| 5/20/2022 | 0 |
| 5/22/2022 | 0 |
| 6/19/2022 | 0 |
| 6/22/2022 | 0 |

Le champ '`in_month`' est créé dans l'instruction preceding load via la fonction `inmonth()` et en transmettant le champ date, une date codée en dur du 1 avril, comme notre `base_date`, et une valeur `period_no` égale à `0`, comme arguments de la fonction.

L'argument `base_date` identifie le mois qui renverra un résultat booléen TRUE. Par conséquent, toutes les transactions survenues en avril renvoient TRUE, valeur validée dans le tableau de résultats.

## Exemple 2 – period\_no

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

#### Script de chargement et résultats

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, vous allez créer un champ, '`2_months_prior`', qui détermine si les transactions ont eu lieu deux mois avant avril.

Script de chargement

```
SET DateFormat='MM/DD/YYYY'; 
 
Transactions: 
Load 
   *, 
   inmonth(date,'04/01/2022', -2) as [2_months_prior] 
Inline  
[ 
id,date,amount 
8188,'1/10/2022',37.23 
8189,'1/14/2022',17.17 
8190,'1/20/2022',88.27 
8191,'1/22/2022',57.42 
8192,'2/1/2022',53.80 
8193,'2/2/2022',82.06 
8194,'2/20/2022',40.39 
8195,'4/11/2022',87.21 
8196,'4/13/2022',95.93 
8197,'4/15/2022',45.89 
8198,'4/25/2022',36.23 
8199,'5/20/2022',25.66 
8200,'5/22/2022',82.77
8201,'6/19/2022',69.98 
8202,'6/22/2022',76.11 
]; 
```

Résultats

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

* `date`
* `2_months_prior`

Exemples de fonction

| date | 2\_months\_prior |
| --- | --- |
| 1/10/2022 | 0 |
| 1/14/2022 | 0 |
| 1/20/2022 | 0 |
| 1/22/2022 | 0 |
| 2/1/2022 | -1 |
| 2/2/2022 | -1 |
| 2/20/2022 | -1 |
| 4/11/2022 | 0 |
| 4/13/2022 | 0 |
| 4/15/2022 | 0 |
| 4/25/2022 | 0 |
| 5/20/2022 | 0 |
| 5/22/2022 | 0 |
| 6/19/2022 | 0 |
| 6/22/2022 | 0 |

L'utilisation de -2 comme argument `period_no` dans la fonction `inmonth()` décale le mois défini par l'argument `base_date` deux mois avant. Dans cet exemple, le mois défini d'avril devient février.

Par conséquent, toute transaction effectuée en février renverra un résultat booléen TRUE.

## Exemple 3 – objet graphique

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

#### Script de chargement et expression de

Vue d'ensemble

Le même jeu de données et le même scénario que ceux des précédents exemples 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 les transactions ont eu lieu en avril 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,'1/10/2022',37.23 
8189,'1/14/2022',17.17 
8190,'1/20/2022',88.27 
8191,'1/22/2022',57.42 
8192,'2/1/2022',53.80 
8193,'2/2/2022',82.06 
8194,'2/20/2022',40.39 
8195,'4/11/2022',87.21 
8196,'4/13/2022',95.93 
8197,'4/15/2022',45.89 
8198,'4/25/2022',36.23 
8199,'5/20/2022',25.66 
8200,'5/22/2022',82.77 
8201,'6/19/2022',69.98 
8202,'6/22/2022',76.11 
]; 
```

Objet graphique

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

`date`

Pour calculer si une transaction a lieu en avril, créez la mesure suivante :

`=inmonth(date,'04/01/2022', 0)`

Résultats

Exemples de fonction

| date | =inmonth(date,'04/01/2022', 0) |
| --- | --- |
| 1/10/2022 | 0 |
| 1/14/2022 | 0 |
| 1/20/2022 | 0 |
| 1/22/2022 | 0 |
| 2/1/2022 | 0 |
| 2/2/2022 | 0 |
| 2/20/2022 | 0 |
| 4/11/2022 | -1 |
| 4/13/2022 | -1 |
| 4/15/2022 | -1 |
| 4/25/2022 | -1 |
| 5/20/2022 | 0 |
| 5/22/2022 | 0 |
| 6/19/2022 | 0 |
| 6/22/2022 | 0 |

## Exemple 4 – scénario

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

#### Script de chargement et résultats

Vue d'ensemble

Dans cet exemple, un jeu de données est chargé dans une table nommée '`Products`'. La table contient les champs suivants :

* ID de produit

* Date de fabrication

* Coût

En raison d'une erreur d'équipement, les produits fabriqués en juillet 2022 étaient défectueux. Le problème a été résolu le 27 juillet 2022.

L'utilisateur final souhaite un graphique qui affiche, par mois, l'état des produits fabriqués 'defective' (défectueux) (valeur booléenne TRUE) ou 'faultless' (corrects) (valeur booléenne FALSE) et le coût des produits fabriqués au cours de ce mois-là.

Script de chargement

```
Products: 
Load 
* 
Inline  
[ 
product_id,manufacture_date,cost_price 
8188,'1/19/2022',37.23 
8189,'1/7/2022',17.17 
8190,'2/28/2022',88.27 
8191,'2/5/2022',57.42 
8192,'3/16/2022',53.80 
8193,'4/1/2022',82.06 
8194,'5/7/2022',40.39 
8195,'5/16/2022',87.21 
8196,'6/15/2022',95.93 
8197,'6/26/2022',45.89 
8198,'7/9/2022',36.23 
8199,'7/22/2022',25.66 
8200,'7/23/2022',82.77
8201,'7/27/2022',69.98 
8202,'8/2/2022',76.11 
8203,'8/8/2022',25.12 
8204,'8/19/2022',46.23 
8205,'9/26/2022',84.21 
8206,'10/14/2022',96.24 
8207,'10/29/2022',67.67 
]; 
```

Résultats

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

`=monthname(manufacture_date)`

Créez les mesures suivantes.

* `=sum(cost_price)`

* `=if(only(inmonth(manufacture_date,makedate(2022,07,01),0)),'Defective','Faultless')`

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

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

Tableau de résultats

| monthname(manufacture\_date) | =if(only(inmonth(manufacture\_date,makedate(2022,07,01),0)),'Defective','Faultless') | sum(cost\_price) |
| --- | --- | --- |
| Jan 2022 | Faultless | $54.40 |
| Feb 2022 | Faultless | $145.69 |
| Mar 2022 | Faultless | $53.80 |
| Apr 2022 | Faultless | $82.06 |
| May 2022 | Faultless | $127.60 |
| Jun 2022 | Faultless | $141.82 |
| Jul 2022 | Defective | $214.64 |
| Aug 2022 | Faultless | $147.46 |
| Sep 2022 | Faultless | $84.21 |
| Oct 2022 | Faultless | $163.91 |

La fonction `inmonth()` renvoie une valeur booléenne lors de l'évaluation des dates de fabrication de chacun des produits. Pour tout produit fabriqué en juillet 2022, la fonction `inmonth()` renvoie une valeur booléenne TRUE et identifie les produits comme ‘Defective’ (défectueux). Tout produit renvoyant une valeur FALSE, et par conséquent non fabriqué en juillet, est identifié comme ‘Faultless’ (correct).