# month - fonction de script et fonction de graphique

Cette fonction renvoie une valeur double : un nom de mois tel que défini dans la variable d'environnement MonthNames et un entier compris entre 1 et 12. Le mois est calculé à partir de l'interprétation de date de l'expression, conformément à l'interprétation standard des nombres.

La fonction renvoie le nom du mois au format de la variable système `MonthName` pour une date donnée. Elle est couramment utilisée pour créer un champ Jour comme dimension dans un Master Calendar.

month(expression)

entier

Exemples de fonction

| Exemple | Résultat |
| --- | --- |
| `month(<br>2012-10-12 )` | renvoie Oct. |
| `month(<br>35648 )` | renvoie Aug, car 35648 = 1997-08-06. |

## Exemple 1 – Ensemble de données DateFormat (script)

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

Le script de chargement contient :

* Un ensemble de données de dates appelé `Master_Calendar`. La variable système `DateFormat` est définie au format DD/MM/YYYY.

* Une instruction preceding load qui crée un champ supplémentaire, appelé `month_name`, via la fonction `  month() `.

* Un champ supplémentaire, appelé `long_date`, qui utilise la fonction `date()` pour exprimer la date complète.

Script de chargement

```

SET DateFormat='DD/MM/YYYY';

Master_Calendar:
Load
        date,
        date(date,'dd-MMMM-YYYY') as long_date,
        month(date) as month_name
Inline 
[
date
03/01/2022
03/02/2022
03/03/2022
03/04/2022
03/05/2022
03/06/2022
03/07/2022
03/08/2022
03/09/2022
03/10/2022
03/11/2022
];
```

Résultats

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

* `date`

* `long_date`

* `month_name`

Tableau de résultats

| date | long\_date | month\_name |
| --- | --- | --- |
| 03/01/2022 | 03-January- 2022 | Jan |
| 03/02/2022 | 03-February- 2022 | Feb |
| 03/03/2022 | 03-March- 2022 | Mar |
| 03/04/2022 | 03-April- 2022 | Apr |
| 03/05/2022 | 03-May- 2022 | May |
| 03/06/2022 | 03-June- 2022 | Jun |
| 03/07/2022 | 03-July- 2022 | Jul |
| 03/08/2022 | 03-August- 2022 | Aug |
| 03/09/2022 | 03-September- 2022 | Sep |
| 03/10/2022 | 03-October- 2022 | Oct |
| 03/11/2022 | 03-November- 2022 | Nov |

Le nom du mois est correctement évalué par la fonction `month()` du script.

## Exemple 2 – Dates ANSI (script)

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

Le script de chargement contient :

* Un ensemble de données de dates appelé `Master_Calendar`. La variable système DateFormat DD/MM/YYYY est utilisée. Cependant, les dates incluses dans l'ensemble de données sont au format de date standard ANSI.

* Un chargement précédent qui crée un champ supplémentaire, appelé `month_name`, via la fonction month().

* Un champ supplémentaire, appelé `long_date`, qui utilise la fonction date() pour exprimer la date complète.

Script de chargement

```

SET DateFormat='DD/MM/YYYY'; 
Master_Calendar: 
Load 
       date, 
       date(date,'dd-MMMM-YYYY') as long_date, 
       month(date) as month_name 

Inline  
[ 
date 
2022-01-11 
2022-02-12 
2022-03-13 
2022-04-14 
2022-05-15 
2022-06-16 
2022-07-17 
2022-08-18 
2022-09-19
2022-10-20 
2022-11-21 
]; 
```

Résultats

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

* `date`

* `long_date`

* `month_name`

Tableau de résultats

| date | long\_date | month\_name |
| --- | --- | --- |
| 03/11/2022 | 11-March- 2022 | 11 |
| 03/12/2022 | 11-March- 2022 | 12 |
| 03/13/2022 | 13-March- 2022 | 13 |
| 03/14/2022 | 14-March- 2022 | 14 |
| 03/15/2022 | 15-March- 2022 | 15 |
| 03/16/2022 | 16-March- 2022 | 16 |
| 03/17/2022 | 17-March- 2022 | 17 |
| 03/18/2022 | 18-March- 2022 | 18 |
| 03/19/2022 | 19-March- 2022 | 19 |
| 03/20/2022 | 20-March- 2022 | 20 |
| 03/21/2022 | 21-March- 2022 | 21 |

Le nom du mois est correctement évalué par la fonction `month()` du script.

## Exemple 3 – Dates non formatées (script)

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

Le script de chargement contient :

* Un ensemble de données de dates appelé `Master_Calendar`. La variable système `  DateFormat ` DD/MM/YYYY est utilisée.

* Un chargement précédent qui crée un champ supplémentaire, appelé `month_name`, via la fonction ` month()  `.

* La date non formatée d'origine, appelée `unformatted_date`.

* Un champ supplémentaire, appelé `long_date`, qui utilise la fonction `  date() ` pour exprimer la date complète.

Script de chargement

```

SET DateFormat='DD/MM/YYYY'; 

Master_Calendar: 
Load 
      unformatted_date, 
      date(unformatted_date,'dd-MMMM-YYYY') as long_date, 
      month(unformatted_date) as month_name 

Inline
[ 
unformatted_date 
44868 
44898 
44928 
44958 
44988 
45018 
45048 
45078 
45008 
45038 
45068 
]; 
```

Résultats

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

* `unformatted_date`

* `long_date`

* `month_name`

Tableau des résultats

| unformatted\_date | long\_date | month\_name |
| --- | --- | --- |
| 44868 | 03-January- 2022 | Jan |
| 44898 | 03-February- 2022 | Feb |
| 44928 | 03-March- 2022 | Mar |
| 44958 | 03-April- 2022 | Apr |
| 44988 | 03-May- 2022 | May |
| 45018 | 03-June- 2022 | Jun |
| 45048 | 03-July- 2022 | Jul |
| 45078 | 03-August- 2022 | Aug |
| 45008 | 03-September- 2022 | Sep |
| 45038 | 03-October- 2022 | Oct |
| 45068 | 03-November- 2022 | Nov |

Le nom du mois est correctement évalué par la fonction `month()` du script.

## Exemple 4 – Calcul du mois d'expiration

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

Le script de chargement contient :

* Un ensemble de données de commandes passées en mars appelé `Subscriptions`. La table contient trois champs :

  * id

  * order\_date

  * amount

Script de chargement

```

Subscriptions: 
Load 
	 id, 
	 order_date, 
	 amount 
Inline  
[ 
id,order_date,amount 
1,03/01/2022,231.24 
2,03/02/2022,567.28 
3,03/03/2022,364.28 
4,03/04/2022,575.76 
5,03/05/2022,638.68 
6,03/06/2022,785.38 
7,03/07/2022,967.46 
8,03/08/2022,287.67 
9,03/09/2022,764.45 
10,03/10/2022,875.43 
11,03/11/2022,957.35 
]; 

```

Résultats

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

Pour calculer le mois d'expiration d'une commande, créez la mesure suivante : `=month(order_date+180)`.

Table des résultats

| order\_date | =month(order\_date+180) |
| --- | --- |
| 03/01/2022 | Jul |
| 03/02/2022 | Aug |
| 03/03/2022 | Aug |
| 03/04/2022 | Sep |
| 03/05/2022 | Oct |
| 03/06/2022 | Nov |
| 03/07/2022 | Dec |
| 03/08/2022 | Jan |
| 03/09/2022 | Mar |
| 03/10/2022 | Apr |
| 03/11/2022 | May |

La fonction `month()` détermine correctement qu'une commande passée le 11 mars expirera en juillet.

## En savoir plus

* [Chargement de données à partir d'une table déjà chargée](https://help.qlik.com/fr-FR/sense/November2024/Subsystems/Hub/Content/Sense_Hub/Scripting/load-data-from-previously-loaded-table.htm)