# monthsname Fonction de script et de graphique

Cette fonction renvoie une valeur d'affichage représentant la plage des mois de la période (formatée d'après la variable de script MonthNames) de même que l'année. La valeur numérique sous-jacente correspond à un horodatage de la première milliseconde du mois, de la période de deux mois, du trimestre, de la période de quatre mois ou du semestre contenant une date de référence.

MonthsName(n\_months, date[, period\_no[, first\_month\_of\_year]])

Double

Diagramme de la fonction monthsname

Diagramme de la fonction monthsname

Diagramme de la fonction monthsname ![Example diagram showing the range of months  returned by the monthsname function, given a specific input date.](https://help.qlik.com/fr-FR/sense/May2026/Subsystems/Hub/Content/Resources/Images/scripting-functions-monthsname-general.png)

La fonction `monthsname()` divise l'année en segments en fonction de l'argument `n_months` fourni. Elle évalue ensuite le segment auquel appartient chaque valeur `date` fournie et renvoie les noms de mois de début et de fin de ce segment, ainsi que l'année. La fonction permet également de renvoyer ces limites à partir des segments précédents ou suivants, ainsi que de redéfinir le premier mois de l'année.

Les segments suivants de l'année sont disponibles dans la fonction en tant qu'arguments `n_month` :

Arguments `n_month`n\_month possibles

| Périodes | Nombre de mois |
| --- | --- |
| mois | 1 |
| période de deux mois | 2 |
| trimestre | 3 |
| période de quatre mois | 4 |
| semestre | 6 |

Arguments

| Argument | Description |
| --- | --- |
| n\_months | Nombre de mois définissant la période. Entier ou expression aboutissant à un entier qui doit correspondre à l'une de ces valeurs : 1 (qui équivaut à la fonction inmonth()), 2 (période de deux mois), 3 (qui équivaut à la fonction inquarter()), 4 (période de quatre mois) ou 6 (semestre). |
| date | Date ou horodatage à évaluer. |
| period\_no | Il est possible de décaler la période à l'aide de l'argument period\_no, d'un entier ou d'une expression aboutissant à un entier, où la valeur 0 indique la période comprenant l'argument base\_date. Les valeurs négatives spécifiées pour period\_no indiquent les périodes passées tandis que les valeurs positives désignent les périodes à 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. |

## Cas d'utilisation

La fonction `monthsname()` est utile lorsque vous souhaitez permettre à l'utilisateur de comparer des agrégations en fonction d'une période de son choix. Par exemple, vous pouvez fournir une variable d'entrée pour permettre à l'utilisateur de voir les ventes totales de produits par mois, trimestre ou semestre.

Ces dimensions peuvent être créées soit dans le script de chargement, en ajoutant la fonction sous forme de champ dans une table Master Calendar, soit en créant la dimension directement dans un graphique sous forme de dimension calculée.

Exemples de fonction

| Exemple | Résultat |
| --- | --- |
| `monthsname(4, '10/19/2013')` | Renvoie 'Sep-Dec 2013.' Dans cet exemple et les autres, l' SETMonthnames instruction est définie sur Jan;Feb;Mar, et ainsi de suite. |
| `monthsname(4, '10/19/2013', -1)` | Renvoie 'May-Aug 2013'. |
| ` monthsname(4, '10/19/2013', 0, 2)  ` | Renvoie 'Oct-Jan 2014', car l'année est indiquée comme commençant le mois 2. Par conséquent, la période de quatre mois se termine le premier mois de l'année suivante. |

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

## Exemple 1 – exemple de base

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

* Un jeu de données contenant un ensemble de transactions pour 2022, qui est 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, `bi_monthly_range`, qui regroupe les transactions en segments bimestriels et renvoie les noms de limite de ce segment pour chaque transaction.

Script de chargement

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

Transactions:
    Load
        *,
        monthsname(2,date) as bi_monthly_range
        ;
Load
*
Inline
[
id,date,amount
8188,2/19/2022,37.23
8189,3/7/2022,17.17
8190,3/30/2022,88.27
8191,4/5/2022,57.42
8192,4/16/2022,53.80
8193,5/1/2022,82.06
8194,5/7/2022,40.39
8195,5/22/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 ces champs comme dimensions :

* `date`

* `bi_monthly_range`

Table de résultats

| date | bi\_monthly\_range |
| --- | --- |
| 2/19/2022 | Jan-Feb 2022 |
| 3/7/2022 | Mar-Apr 2022 |
| 3/30/2022 | Mar-Apr 2022 |
| 4/5/2022 | Mar-Apr 2022 |
| 4/16/2022 | Mar-Apr 2022 |
| 5/1/2022 | May-Jun 2022 |
| 5/7/2022 | May-Jun 2022 |
| 5/22/2022 | May-Jun 2022 |
| 6/15/2022 | May-Jun 2022 |
| 6/26/2022 | May-Jun 2022 |
| 7/9/2022 | Jul-Aug 2022 |
| 7/22/2022 | Jul-Aug 2022 |
| 7/23/2022 | Jul-Aug 2022 |
| 7/27/2022 | Jul-Aug 2022 |
| 8/2/2022 | Jul-Aug 2022 |
| 8/8/2022 | Jul-Aug 2022 |
| 8/19/2022 | Jul-Aug 2022 |
| 9/26/2022 | Sep-Oct 2022 |
| 10/14/2022 | Sep-Oct 2022 |
| 10/29/2022 | Sep-Oct 2022 |

Le champ `bi_monthly_range` est créé dans l'instruction LOAD précédente à l'aide de la fonction `monthsname()`. Le premier argument fourni est 2, divisant l'année en segments bimestriels. Le deuxième argument identifie le champ en cours d'évaluation.

Diagramme de la fonction monthsname, exemple de base

Diagramme de la fonction monthsname, exemple de base

Diagramme de la fonction monthsname, exemple de base ![Diagram showing the results of using the monthsname function to determine the range of months within which a transaction took place. In this case, it determines that transaction number 8195, which took place on May 22, will return the value indicating a range of May to June 2022.](https://help.qlik.com/fr-FR/sense/May2026/Subsystems/Hub/Content/Resources/Images/scripting-functions-monthsname-basic-example.png)

La transaction 8195 a lieu le 22 mai. La fonction `monthsname()` divise initialement l'année en segments bimestriels. La transaction 8195 tombe dans le segment entre le 1er mai et le 30 juin. Par conséquent, la fonction renvoie ces mois au format de la variable système `MonthNames`, ainsi que l'année, May-Jun 2022.

## Exemple 2 – period\_no

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

* Même jeu de données et même scénario inline que ceux du premier exemple.

* Création d'un champ, `prev_bi_monthly_range`, qui regroupe les transactions en segments bimestriels et renvoie les noms de limite de segment précédent pour chaque transaction.

Ajoutez un autre texte ici, si nécessaire, avec des listes, etc.

Script de chargement

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

Transactions:
    Load
        *,
        MonthsName(2,date,-1) as prev_bi_monthly_range
        ;
Load
*
Inline
[
id,date,amount
8188,2/19/2022,37.23
8189,3/7/2022,17.17
8190,3/30/2022,88.27
8191,4/5/2022,57.42
8192,4/16/2022,53.80
8193,5/1/2022,82.06
8194,5/7/2022,40.39
8195,5/22/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 ces champs comme dimensions :

* `date`

* `prev_bi_monthly_range`

Table de résultats

| date | prev\_bi\_monthly\_range |
| --- | --- |
| 2/19/2022 | Nov-Dec 2021 |
| 3/7/2022 | Jan-Feb 2022 |
| 3/30/2022 | Jan-Feb 2022 |
| 4/5/2022 | Jan-Feb 2022 |
| 4/16/2022 | Jan-Feb 2022 |
| 5/1/2022 | Mar-Apr 2022 |
| 5/7/2022 | Mar-Apr 2022 |
| 5/22/2022 | Mar-Apr 2022 |
| 6/15/2022 | Mar-Apr 2022 |
| 6/26/2022 | Mar-Apr 2022 |
| 7/9/2022 | May-Jun 2022 |
| 7/22/2022 | May-Jun 2022 |
| 7/23/2022 | May-Jun 2022 |
| 7/27/2022 | May-Jun 2022 |
| 8/2/2022 | May-Jun 2022 |
| 8/8/2022 | May-Jun 2022 |
| 8/19/2022 | May-Jun 2022 |
| 9/26/2022 | Jul-Aug 2022 |
| 10/14/2022 | Jul-Aug 2022 |
| 10/29/2022 | Jul-Aug 2022 |

Dans cet exemple, -1 est utilisé comme argument `period_no` dans la fonction `monthsname()`. Après avoir initialement divisé une année en segments bimestriels, la fonction renvoie les limites de segment précédentes correspondant au moment où une transaction a lieu.

Diagramme de la fonction monthsname, exemple period\_no

Diagramme de la fonction monthsname, exemple period\_no

Diagramme de la fonction monthsname, exemple period\_no ![Diagram showing the results of using the monthsname function to determine the range of months within which a transaction took place. The period_no is set at -1. Transaction number 8195, which took place between May and June, will return the value indicating a range of March to April 2022.](https://help.qlik.com/fr-FR/sense/May2026/Subsystems/Hub/Content/Resources/Images/scripting-functions-monthsname-example-period-no.png)

La transaction 8195 a lieu dans le segment entre mai et juin. Par conséquent, le segment bimestriel précédent se situait entre le 1er mars et le 30 avril. La fonction renvoie donc Mar-Apr 2022.

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

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

* Même jeu de données et même scénario inline que ceux du premier exemple.

* Création d'un champ différent, `bi_monthly_range`, qui regroupe les transactions en segments bimestriels et renvoie les limites de segment de chaque transaction.

Cependant, dans cet exemple, nous devons également définir avril comme le premier mois de l'exercice financier.

Script de chargement

```
SET DateFormat='MM/DD/YYYY';
						
Transactions:
    Load
        *,
        MonthsName(2,date,0,4) as bi_monthly_range
        ;
Load
*
Inline
[
id,date,amount
8188,2/19/2022,37.23
8189,3/7/2022,17.17
8190,3/30/2022,88.27
8191,4/5/2022,57.42
8192,4/16/2022,53.80
8193,5/1/2022,82.06
8194,5/7/2022,40.39
8195,5/22/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 ces champs comme dimensions :

* `date`

* `bi_monthly_range`

Table de résultats

| date | bi\_monthly\_range |
| --- | --- |
| 2/19/2022 | Feb-Mar 2021 |
| 3/7/2022 | Feb-Mar 2021 |
| 3/30/2022 | Feb-Mar 2021 |
| 4/5/2022 | Apr-May 2022 |
| 4/16/2022 | Apr-May 2022 |
| 5/1/2022 | Apr-May 2022 |
| 5/7/2022 | Apr-May 2022 |
| 5/22/2022 | Apr-May 2022 |
| 6/15/2022 | Jun-Jul 2022 |
| 6/26/2022 | Jun-Jul 2022 |
| 7/9/2022 | Jun-Jul 2022 |
| 7/22/2022 | Jun-Jul 2022 |
| 7/23/2022 | Jun-Jul 2022 |
| 7/27/2022 | Jun-Jul 2022 |
| 8/2/2022 | Aug-Sep 2022 |
| 8/8/2022 | Aug-Sep 2022 |
| 8/19/2022 | Aug-Sep 2022 |
| 9/26/2022 | Aug-Sep 2022 |
| 10/14/2022 | Oct-Nov 2022 |
| 10/29/2022 | Oct-Nov 2022 |

En utilisant 4 comme argument `first_month_of_year` dans la fonction `monthsname()`, la fonction commence l'année le 1er avril. Il divise ensuite l'année en segments bimestriels : Avr-Mai,Juin-Juil,Août-Sept,Oct-Nov,Déc-Janv,Fév-Mars.

Texte de paragraphe des résultats.

La transaction 8195 a eu lieu le 22 mai et tombe dans le segment entre le 1er avril et le 31 mai. Par conséquent, la fonction renvoie Apr-May 2022.

Diagramme de la fonction monthsname, exemple first\_month\_of\_year

Diagramme de la fonction monthsname, exemple first\_month\_of\_year

Diagramme de la fonction monthsname, exemple first\_month\_of\_year ![Diagram showing the results of using the monthsname function to determine the range of months within which a transaction took place. Since the year is set to begin on April 1, transaction number 8195 will return a value indicating a range of April to May 2022.](https://help.qlik.com/fr-FR/sense/May2026/Subsystems/Hub/Content/Resources/Images/scripting-functions-monthsname-example-first-month-of-year.png)

## Exemple 4 – Exemple d'objet graphique

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/monthsname.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 le même jeu de données et le même scénario inline que ceux du premier exemple. Cependant, dans cet exemple, le même jeu de données est chargé dans l'application. Le calcul qui regroupe les transactions en segments bimestriels et renvoie les limites de segment de chaque transaction 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,2/19/2022,37.23
8189,3/7/2022,17.17
8190,3/30/2022,88.27
8191,4/5/2022,57.42
8192,4/16/2022,53.80
8193,5/1/2022,82.06
8194,5/7/2022,40.39
8195,5/22/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 :date.

Créez la mesure suivante :

=monthsname(2,date)

Table de résultats

| date | =monthsname(2,date) |
| --- | --- |
| 2/19/2022 | Jan-Feb 2022 |
| 3/7/2022 | Mar-Apr 2022 |
| 3/30/2022 | Mar-Apr 2022 |
| 4/5/2022 | Mar-Apr 2022 |
| 4/16/2022 | Mar-Apr 2022 |
| 5/1/2022 | May-Jun 2022 |
| 5/7/2022 | May-Jun 2022 |
| 5/22/2022 | May-Jun 2022 |
| 6/15/2022 | May-Jun 2022 |
| 6/26/2022 | May-Jun 2022 |
| 7/9/2022 | Jul-Aug 2022 |
| 7/22/2022 | Jul-Aug 2022 |
| 7/23/2022 | Jul-Aug 2022 |
| 7/27/2022 | Jul-Aug 2022 |
| 8/2/2022 | Jul-Aug 2022 |
| 8/8/2022 | Jul-Aug 2022 |
| 8/19/2022 | Jul-Aug 2022 |
| 9/26/2022 | Sep-Oct 2022 |
| 10/14/2022 | Sep-Oct 2022 |
| 10/29/2022 | Sep-Oct 2022 |

Le champ bi\_monthly\_range est créé sous forme de mesure dans l'objet graphique à l'aide de la fonction monthsname(). Le premier argument fourni est 2, divisant l'année en segments bimestriels. Le deuxième argument identifie le champ en cours d'évaluation.

Diagramme de la fonction monthsname, exemple objet graphique

Diagramme de la fonction monthsname, exemple objet graphique

Diagramme de la fonction monthsname, exemple objet graphique ![Diagram showing the results of using the monthsname function with a chart object. Like the other examples, the function is used to determine the range of months within which a transaction took place. Transaction number 8195 returns a value of May-Jun 2022.](https://help.qlik.com/fr-FR/sense/May2026/Subsystems/Hub/Content/Resources/Images/scripting-functions-monthsname-example-chart-object.png)

La transaction 8195 a lieu le 22 mai. La fonction monthsname() divise initialement l'année en segments bimestriels. La transaction 8195 tombe dans le segment entre le 1er mai et le 30 juin. Par conséquent, la fonction renvoie ces mois au format de la variable système MonthNames, ainsi que l'année, May-Jun 2022.

## Exemple 5 – Scénario

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/monthsname.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 des transactions pour 2022, chargé dans une table appelée Transactions.

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

L'utilisateur final souhaite un objet graphique qui affiche les ventes totales en fonction d'une période de son choix. Cela est possible même lorsque cette dimension n'est pas disponible dans le modèle de données, en utilisant la fonction monthsname() comme dimension calculée modifiée dynamiquement par un contrôle d'entrée de variable.

Script de chargement

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

Transactions:
Load
*
Inline
[
id,date,amount
8188,'1/7/2022',17.17
8189,'1/19/2022',37.23
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.

Au début du script de chargement, une variable (vPeriod) a été créée ; elle sera liée au contrôle d'entrée de variable. Ensuite, configurez la variable comme un objet personnalisé dans la feuille.

Procédez comme suit :

1. Dans le panneau des ressources, cliquez sur Graphiques.

2. Sous Objets de tableau de bord, faites glisser une Entrée de variable sur la feuille.

3. Saisissez un titre pour l'objet de graphique.

4. Sous Variable, sélectionnez vPeriod comme nom et définissez l'objet de sorte qu'il s'affiche sous forme de Liste déroulante.

5. Sous Valeurs, configurez l'objet de sorte qu'il utilise des valeurs dynamiques. Saisissez les éléments suivants :

   ='1~month|2~bi-month|3~quarter|4~tertial|6~half-year'

Ensuite, créez le tableau de résultats.

Procédez comme suit :

1. Créez un tableau et ajoutez la dimension calculée suivante :

   =monthsname($(vPeriod),date)

2. Ajoutez cette mesure pour calculer les ventes totales :

   =sum(amount)

3. Définissez le Formatage des nombres de la mesure sur Devise. Cliquez sur the Édition terminée icon. Vous pouvez maintenant modifier les données affichées dans le tableau en ajustant le segment de temps dans l'objet variable.

Voici ce à quoi ressemblera le tableau de résultats lorsque l'option tertial est sélectionnée :

Table de résultats

| monthsname($(vPeriod),date) | =sum(amount) |
| --- | --- |
| Jan-Apr 2022 | 253.89 |
| Mai-Août 2022 | 713.58 |
| Sep-Dec 2022 | 248.12 |