# lunarweekname Fonction de script et de graphique

Cette fonction renvoie une valeur d'affichage indiquant l'année et le numéro de la semaine lunaire correspondant à un horodatage de la première milliseconde du premier jour de la semaine lunaire contenant l'argument date. Dans Qlik Sense, les semaines lunaires sont définies en comptant le 1er janvier comme le premier jour de la semaine et, à l'exception de la dernière semaine de l'année, elles contiendront exactement sept jours.

LunarWeekName(date [, period\_no[, first\_week\_day]])

double

Exemple de diagramme de la fonction `lunarweekname()`

Exemple de diagramme de la fonction `lunarweekname()`

Exemple de diagramme de la fonction `lunarweekname()`lunarweekname() ![Exemple de diagramme montrant comment la fonction lunarweekname convertit une date d'entrée en une valeur affichant une combinaison d'année et de numéro de semaine lunaire.](https://help.qlik.com/fr-FR/sense/May2026/Subsystems/Hub/Content/Resources/Images/scripting-functions-lunarweekname-general.png)

La fonction `lunarweekname()` détermine la semaine lunaire de la date, en commençant le comptage des semaines le 1er janvier. Elle renvoie ensuite une valeur comprenant `year/weekcount`.

Arguments

| Argument | Description |
| --- | --- |
| date | Date ou horodatage à évaluer. |
| period\_no | period\_no est un entier ou une expression qui aboutit à un entier, où la valeur 0 indique la semaine lunaire contenant l'argument date. Les valeurs négatives spécifiées pour period\_no indiquent les semaines lunaires passées tandis que les valeurs positives désignent les semaines lunaires à venir. |
| first\_week\_day | Décalage pouvant être supérieur ou inférieur à zéro. Il modifie le début de l'année du nombre de jours et/ou de fractions de jour spécifié. |

## Cas d'utilisation

La fonction `lunarweekname()` est utile lorsque vous souhaitez comparer des agrégations par semaines lunaires. Par exemple, la fonction pourrait permettre de déterminer les ventes totales de produits par semaine lunaire. Les semaines lunaires s'avèrent utiles lorsque vous souhaitez vous assurer que toutes les valeurs contenues dans la première semaine de l'année correspondent uniquement à des valeurs à partir du 1er janvier au plus tôt.

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. La fonction peut également être utilisée directement dans un graphique comme dimension calculée.

Exemples de fonction

| Exemple | Résultat |
| --- | --- |
| `lunarweekname('01/12/2013')` | Renvoie 2006/02. |
| `lunarweekname('01/12/2013', -1)` | Renvoie 2006/01. |
| `lunarweekname('01/12/2013', 0, 1)` | Renvoie 2006/02. |

## 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 – date sans aucun argument supplémentaire

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/lunarweekname.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 2022, 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, `  lunar_week_name `, qui renvoie l'année et le numéro de semaine de la semaine lunaire au cours de laquelle les transactions ont eu lieu.

Script de chargement

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

Transactions:
    Load
        *,
        lunarweekname(date) as lunar_week_name
        ;
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. Créez une table et ajoutez ces champs comme dimensions :

* `date`

* `lunar_week_name`

Tableau de résultats

| date | lunar\_week\_name |
| --- | --- |
| 1/7/2022 | 2022/01 |
| 1/19/2022 | 2022/03 |
| 2/5/2022 | 2022/06 |
| 2/28/2022 | 2022/09 |
| 3/16/2022 | 2022/11 |
| 4/1/2022 | 2022/13 |
| 5/7/2022 | 2022/19 |
| 5/16/2022 | 2022/20 |
| 6/15/2022 | 2022/24 |
| 6/26/2022 | 2022/26 |
| 7/9/2022 | 2022/28 |
| 7/22/2022 | 2022/29 |
| 7/23/2022 | 2022/30 |
| 7/27/2022 | 2022/30 |
| 8/2/2022 | 2022/31 |
| 8/8/2022 | 2022/32 |
| 8/19/2022 | 2022/33 |
| 9/26/2022 | 2022/39 |
| 10/14/2022 | 2022/41 |
| 10/29/2022 | 2022/44 |

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

La fonction `lunarweekname()` identifie la semaine lunaire de la valeur date en renvoyant l'année et le numéro de semaine de cette date.

Diagramme de la fonction `lunarweekname()`, exemple sans argument supplémentaire

Diagramme de la fonction `lunarweekname()`, exemple sans argument supplémentaire

Diagramme de la fonction `lunarweekname()`lunarweekname(), exemple sans argument supplémentaire ![Diagramme montrant comment la fonction lunarweekname convertit une date d'entrée en une valeur affichant une combinaison d'année et de numéro de semaine lunaire.](https://help.qlik.com/fr-FR/sense/May2026/Subsystems/Hub/Content/Resources/Images/scripting-functions-lunarweekname-examples-no-add-arg.png)

La transaction 8189 a eu lieu le 19 janvier. La fonction `lunarweekname()` identifie que cette date tombe pendant la semaine lunaire commençant le 15 janvier ; il s'agit de la troisième semaine lunaire de l'année. Par conséquent, la valeur `lunar_week_name` renvoyée pour cette transaction est 2022/03.

## Exemple 2 – date avec argument period\_no

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/lunarweekname.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 que ceux du premier exemple.

* Création d'un champ, `previous_lunar_week_name`, qui renvoie l'année et le numéro de semaine de la semaine lunaire précédant les transactions.

Script de chargement

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

Transactions:
    Load
        *,
        lunarweekname(date,-1) as previous_lunar_week_name
        ;
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. Créez une table et ajoutez ces champs comme dimensions :

* `date`

* `previous_lunar_week_name`

Tableau de résultats

| date | previous\_lunar\_week\_name |
| --- | --- |
| 1/7/2022 | 2021/52 |
| 1/19/2022 | 2022/02 |
| 2/5/2022 | 2022/05 |
| 2/28/2022 | 2022/08 |
| 3/16/2022 | 2022/10 |
| 4/1/2022 | 2022/12 |
| 5/7/2022 | 2022/18 |
| 5/16/2022 | 2022/19 |
| 6/15/2022 | 2022/23 |
| 6/26/2022 | 2022/25 |
| 7/9/2022 | 2022/27 |
| 7/22/2022 | 2022/28 |
| 7/23/2022 | 2022/29 |
| 7/27/2022 | 2022/29 |
| 8/2/2022 | 2022/30 |
| 8/8/2022 | 2022/31 |
| 8/19/2022 | 2022/32 |
| 9/26/2022 | 2022/38 |
| 10/14/2022 | 2022/40 |
| 10/29/2022 | 2022/43 |

Dans cet exemple, étant donné qu'un argument `period_no` égal à -1 a été utilisé comme argument de décalage dans la fonction `lunarweekname()`, la fonction commence par identifier la semaine lunaire au cours de laquelle les transactions ont eu lieu. Elle renvoie ensuite l'année et le numéro d'une semaine avant.

Diagramme de la fonction `lunarweekname()`, exemple period\_no

Diagramme de la fonction `lunarweekname()`, exemple period\_no

Diagramme de la fonction `lunarweekname()`lunarweekname(), exemple period\_no ![Diagramme montrant comment la fonction lunarweekname convertit la date d'entrée d'une transaction en une valeur combinée affichant l'année et le numéro de semaine de la semaine lunaire de la transaction.](https://help.qlik.com/fr-FR/sense/May2026/Subsystems/Hub/Content/Resources/Images/scripting-functions-lunarweekname-examples-period-no.png)

La transaction 8189 a eu lieu le 19 janvier. La fonction `lunarweekname()` identifie que cette transaction a eu lieu au cours de la troisième semaine lunaire de l'année ; c'est pourquoi elle renvoie l'année et la valeur d'une semaine auparavant, 2022/02, pour le champ `previous_lunar_week_name`.

## Exemple 3 – date avec argument first\_week\_day

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/lunarweekname.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 le même jeu de données et le même scénario que ceux du premier exemple. Dans cet exemple, nous définissons les semaines lunaires de sorte qu'elles commencent le 5 janvier.

Script de chargement

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

Transactions:
    Load
        *,
        lunarweekname(date,0,4) as lunar_week_name
        ;
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. Créez une table et ajoutez ces champs comme dimensions :

* `date`

* `lunar_week_name`

Tableau de résultats

| date | lunar\_week\_name |
| --- | --- |
| 1/7/2022 | 2022/01 |
| 1/19/2022 | 2022/03 |
| 2/5/2022 | 2022/05 |
| 2/28/2022 | 2022/08 |
| 3/16/2022 | 2022/11 |
| 4/1/2022 | 2022/13 |
| 5/7/2022 | 2022/18 |
| 5/16/2022 | 2022/19 |
| 6/15/2022 | 2022/24 |
| 6/26/2022 | 2022/25 |
| 7/9/2022 | 2022/27 |
| 7/22/2022 | 2022/29 |
| 7/23/2022 | 2022/29 |
| 7/27/2022 | 2022/30 |
| 8/2/2022 | 2022/30 |
| 8/8/2022 | 2022/31 |
| 8/19/2022 | 2022/33 |
| 9/26/2022 | 2022/38 |
| 10/14/2022 | 2022/41 |
| 10/29/2022 | 2022/43 |

Diagramme de la fonction `lunarweekname()`, exemple first\_week\_day

Diagramme de la fonction `lunarweekname()`, exemple first\_week\_day

Diagramme de la fonction `lunarweekname()`lunarweekname(), exemple first\_week\_day ![Diagramme montrant comment la fonction lunarweekname convertit la date d'entrée de chaque transaction en une valeur combinée affichant l'année et le numéro de semaine lunaire.](https://help.qlik.com/fr-FR/sense/May2026/Subsystems/Hub/Content/Resources/Images/scripting-functions-lunarweekname-examples-first-week-day.png)

Dans cet exemple, étant donné que l'argument `first_week_date` égal à 4 est utilisé dans la fonction `lunarweekname()`, il reporte le début des semaines lunaires du 1er janvier au 5 janvier.

La transaction 8188 a eu lieu le 7 janvier. Étant donné que les semaines lunaires commencent le 5 janvier, la fonction `lunarweekname()` identifie que la semaine lunaire contenant le 7 janvier est la première semaine lunaire de l'année. Par conséquent, la valeur `lunar_week_name` renvoyée pour cette transaction est 2022/01.

## Exemple 4 – Exemple d'objet graphique

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/lunarweekname.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 que ceux du premier exemple.

Cependant, dans cet exemple, le même jeu de données est chargé dans l'application. Le calcul qui renvoie le numéro de semaine lunaire et l'année des transactions est créé sous forme de mesure dans un objet graphique de l'application.

Script de chargement

```
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. Créez une table et ajoutez ce champ comme dimension : date.

Pour calculer la date de début de la semaine lunaire d'une transaction, créez la mesure suivante :

=lunarweekname(date)

Tableau de résultats

| date | =lunarweekname(date) |
| --- | --- |
| 1/7/2022 | 2022/01 |
| 1/19/2022 | 2022/03 |
| 2/5/2022 | 2022/06 |
| 2/28/2022 | 2022/09 |
| 3/16/2022 | 2022/11 |
| 4/1/2022 | 2022/13 |
| 5/7/2022 | 2022/19 |
| 5/16/2022 | 2022/20 |
| 6/15/2022 | 2022/24 |
| 6/26/2022 | 2022/26 |
| 7/9/2022 | 2022/28 |
| 7/22/2022 | 2022/29 |
| 7/23/2022 | 2022/30 |
| 7/27/2022 | 2022/30 |
| 8/2/2022 | 2022/31 |
| 8/8/2022 | 2022/32 |
| 8/19/2022 | 2022/33 |
| 9/26/2022 | 2022/39 |
| 10/14/2022 | 2022/41 |
| 10/29/2022 | 2022/44 |

La mesure lunar\_week\_name est créée dans l'objet graphique via la fonction lunarweekname() et en transmettant le champ date comme argument de la fonction.

La fonction lunarweekname() identifie la semaine lunaire de la valeur date en renvoyant l'année et le numéro de semaine de cette date.

Diagramme de la fonction lunarweekname(), exemple objet graphique

Diagramme de la fonction lunarweekname(), exemple objet graphique

Diagramme de la fonction lunarweekname()lunarweekname(), exemple objet graphique ![Diagramme montrant comment la fonction lunarweekname convertit une date d'entrée en une valeur affichant une combinaison d'année et de numéro de semaine lunaire.](https://help.qlik.com/fr-FR/sense/May2026/Subsystems/Hub/Content/Resources/Images/scripting-functions-lunarweekname-examples-chart-object.png)

La transaction 8189 a eu lieu le 19 janvier. La fonction lunarweekname() identifie que cette date tombe pendant la semaine lunaire commençant le 15 janvier ; il s'agit de la troisième semaine lunaire de l'année. Par conséquent, la valeur lunar\_week\_name de cette transaction est 2022/03.

## Exemple 5 – Scénario

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/lunarweekname.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 un ensemble de 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 présentant les ventes totales par semaine pour l'année en cours. La semaine 1, d'une longueur de sept jours, doit commencer le 1er janvier. Il est possible d'y parvenir, même lorsque cette dimension n'est pas disponible dans le modèle de données, via la fonction lunarweekname() utilisée comme dimension calculée dans le graphique.

Script de chargement

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

Procédez comme suit :

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

2. Créez une dimension calculée à l'aide de l'expression suivante :

   =lunarweekname(date)

3. Pour calculer les ventes totales, utilisez la mesure d'agrégation suivante :

   =sum(amount)

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

Tableau de résultats

| =lunarweekname(date) | =sum(amount) |
| --- | --- |
| 2022/01 | $17.17 |
| 2022/03 | $37.23 |
| 2022/06 | $57.42 |
| 2022/09 | $88.27 |
| 2022/11 | $53.80 |
| 2022/13 | $82.06 |
| 2022/19 | $40.39 |
| 2022/20 | $87.21 |
| 2022/24 | $95.93 |
| 2022/26 | $45.89 |
| 2022/28 | $36.23 |
| 2022/29 | $25.66 |
| 2022/30 | $152.75 |
| 2022/31 | $76.11 |
| 2022/32 | $25.12 |
| 2022/33 | $46.23 |
| 2022/39 | $84.21 |
| 2022/41 | $96.24 |
| 2022/44 | $67.67 |