# weekday Fonction de script et de graphique

Cette fonction renvoie une valeur double avec :

* Un nom de jour tel que défini dans la variable d'environnement DayNames.
* Un entier compris entre 0 et 6 correspondant au jour nominal de la semaine (0-6).

Syntaxe :

weekday(date [,first\_week\_day=0])

Type de données renvoyé : double

La fonction `weekday()` détermine le jour de la semaine d'une date. Elle renvoie ensuite une valeur de chaîne représentant ce jour-là.

Diagramme de la fonction `weekday()` renvoyant le nom du jour d'une date

Diagramme de la fonction `weekday()` renvoyant le nom du jour d'une date

Diagramme de la fonction `weekday()`weekday() renvoyant le nom du jour d'une date ![Diagramme montrant la fonction weekday() renvoyant le nom du jour d'une date.](https://help.qlik.com/fr-FR/cloud-services/Subsystems/Hub/Content/Resources/Images/scripting-functions-weekday-diagram1.png)

Le résultat renvoie la valeur numérique correspondant à ce jour de la semaine (0-6), en fonction du jour de début de la semaine. Par exemple, si le premier jour de la semaine est défini comme étant un dimanche, un mercredi renverra une valeur numérique `3`. Ce jour de début est déterminé par la variable système `FirstWeekDay` ou par le paramètre de fonction `first_week_day`.

Vous pouvez utiliser cette valeur numérique dans le cadre d'une expression arithmétique. Par exemple, multipliez-la par `1` pour renvoyer la valeur elle-même.

Diagramme de la fonction `weekday()` avec la valeur numérique du jour affichée au lieu du nom du jour

Diagramme de la fonction `weekday()` avec la valeur numérique du jour affichée au lieu du nom du jour

Diagramme de la fonction `weekday()`weekday() avec la valeur numérique du jour affichée au lieu du nom du jour ![Diagramme montrant que la fonction weekday() peut renvoyer une valeur numérique correspondant au jour identifié.](https://help.qlik.com/fr-FR/cloud-services/Subsystems/Hub/Content/Resources/Images/scripting-functions-weekday-diagram2.png)

Cas d'utilisation de weekday

La fonction `weekday()` est utile lorsque vous souhaitez comparer des agrégations par jour de la semaine. Par exemple, si vous souhaitez comparer les ventes moyennes de produits par jour de la semaine.

Ces dimensions peuvent être créées soit dans le script de chargement en utilisant la fonction permettant de créer un champ dans une table Master Calendar ; ou elles peuvent être créées directement dans un graphique sous forme de mesure calculée.

Rubriques connexes

| Rubriques | Interaction |
| --- | --- |
| [FirstWeekDay](https://help.qlik.com/fr-FR/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/NumberInterpretationVariables/FirstWeekDay.htm) | Définit le jour de début de chaque semaine. |

| <ul> </ul> |
| --- |

Arguments

| Argument | Description |
| --- | --- |
| date | Date ou horodatage à évaluer. |
| first\_week\_day | Spécifie le jour où débute la semaine. S'il est omis, c'est la valeur de la variable FirstWeekDay qui est utilisée.<br><br>[FirstWeekDay](https://help.qlik.com/fr-FR/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/NumberInterpretationVariables/FirstWeekDay.htm) |

Vous pouvez utiliser les valeurs suivantes pour définir le premier jour de la semaine dans l'argument `first_week_day` :

Valeurs first\_week\_day

| Jour | Valeur |
| --- | --- |
| Lundi | 0 |
| Mardi | 1 |
| Mercredi | 2 |
| Jeudi | 3 |
| Vendredi | 4 |
| Samedi | 5 |
| Dimanche | 6 |

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

Note InformationsSauf indication contraire, la valeur `FirstWeekDay` est définie sur `0` dans ces exemples.

Exemples de fonction

| Exemple | Résultat |
| --- | --- |
| `weekday('10/12/1971')` | Renvoie 'Tue' (mardi) et 1. |
| `weekday('10/12/1971' , 6)` | Renvoie 'Tue' (mardi) et 2.<br><br>Dans cet exemple, le dimanche (`6`) est de premier jour de la semaine. |
| `SET FirstWeekDay=6;`<br><br>`...`<br><br>`weekday('10/12/1971')` | Renvoie 'Tue' (mardi) et 2. |

## Exemple 1 - chaîne Weekday

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

* Variable système `FirstWeekDay` définie sur 6 (dimanche).

* Variable `DayNames` définie de sorte à utiliser les noms de jour par défaut.

* Instruction preceding load contenant la fonction `weekday()`, définie comme le champ ‘`week_day`’ et qui renvoie le jour de la semaine des transactions.

Script de chargement

```
SET DateFormat='MM/DD/YYYY'; 
SET DayNames='Mon;Tue;Wed;Thu;Fri;Sat;Sun'; 
SET FirstWeekDay=6; 
 
Transactions: 
    Load 
       *, 
       WeekDay(date) as week_day 
       ; 
Load 
* 
Inline  
[ 
id,date,amount 
8188,01/01/2022,37.23 
8189,01/02/2022,17.17 
8190,01/03/2022,88.27 
8191,01/04/2022,57.42 
8192,01/05/2022,53.80 
8193,01/06/2022,82.06 
8194,01/07/2022,40.39 
]; 
```

Résultats

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

* `id`
* `date`
* `week_day`

Tableau de résultats

| id | date | week\_day |
| --- | --- | --- |
| 8188 | 01/01/2022 | Sat |
| 8189 | 01/02/2022 | Sun |
| 8190 | 01/03/2022 | Mon |
| 8191 | 01/04/2022 | Tue |
| 8192 | 01/05/2022 | Wed |
| 8193 | 01/06/2022 | Thu |
| 8194 | 01/07/2022 | Fri |

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

La fonction `weekday()` renvoie la valeur de chaîne weekday, à savoir, le nom du jour de la semaine défini par la variable système `DayNames`.

Diagramme de la fonction `weekday()` renvoyant le mercredi comme jour de la semaine pour la transaction 8192

Diagramme de la fonction `weekday()` renvoyant le mercredi comme jour de la semaine pour la transaction 8192

Diagramme de la fonction `weekday()`weekday() renvoyant le mercredi comme jour de la semaine pour la transaction 8192 ![Diagramme montrant que la fonction weekday() renvoie le mercredi comme jour de la semaine pour la transaction 8192.](https://help.qlik.com/fr-FR/cloud-services/Subsystems/Hub/Content/Resources/Images/scripting-functions-weekday-examples1_and3-diagram.png)

La transaction 8192 a eu lieu le 5 janvier. La variable système `FirstWeekDay` définit le premier jour de la semaine comme étant le dimanche. La transaction de la fonction `weekday()` a eu lieu un mercredi et renvoie cette valeur, au format abrégé de la variable système `DayNames`, dans le champ `week_day`.

Les valeurs du champ ‘`week_day`’ sont alignées à droite dans la colonne, en raison d'un résultat double contenant du texte et un chiffre pour le champ (Wednesday, 3). Pour convertir la valeur du champ en équivalent numérique, il est possible d'intégrer le champ à la fonction `num()`. Par exemple, dans la transaction 8192, la valeur Wednesday (mercredi) serait convertie en chiffre 3.

## Exemple 2 - first\_week\_day

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

* Variable système `FirstWeekDay` définie sur 6 (dimanche).

* Variable `DayNames` définie de sorte à utiliser les noms de jour par défaut.

* Chargement précédent contenant la fonction `weekday()`, définie comme le champ ‘`week_day`’ et qui renvoie le jour de la semaine des transactions.

Script de chargement

```
SET DateFormat='MM/DD/YYYY'; 
SET DayNames='Mon;Tue;Wed;Thu;Fri;Sat;Sun'; 
SET FirstWeekDay=6; 
 
Transactions: 
    Load 
       *, 
       WeekDay(date,1) as week_day 
       ; 
Load 
* 
Inline  
[ 
id,date,amount 
8188,01/01/2022,37.23 
8189,01/02/2022,17.17 
8190,01/03/2022,88.27 
8191,01/04/2022,57.42 
8192,01/05/2022,53.80 
8193,01/06/2022,82.06 
8194,01/07/2022,40.39 
]; 
```

Résultats

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

* `id`
* `date`
* `week_day`

Tableau de résultats

| id | date | week\_day |
| --- | --- | --- |
| 8188 | 01/01/2022 | Sat |
| 8189 | 01/02/2022 | Sun |
| 8190 | 01/03/2022 | Mon |
| 8191 | 01/04/2022 | Tue |
| 8192 | 01/05/2022 | Wed |
| 8193 | 01/06/2022 | Thu |
| 8194 | 01/07/2022 | Fri |

Diagramme de la fonction `weekday()` montrant que le mercredi porte la valeur numérique double 1

Diagramme de la fonction `weekday()` montrant que le mercredi porte la valeur numérique double 1

Diagramme de la fonction `weekday()`weekday() montrant que le mercredi porte la valeur numérique double 1 ![Diagramme montrant que le 5 janvier 2022 tombe un mercredi et que le mercredi porte la valeur numérique 1 parce que le premier jour de la semaine est défini comme étant le mardi.](https://help.qlik.com/fr-FR/cloud-services/Subsystems/Hub/Content/Resources/Images/scripting-functions-weekday-example2-diagram.png)

Étant donné que l'argument `first_week_day` égal à `1` est utilisé dans la fonction `weekday()`, le premier jour de la semaine est le mardi. Par conséquent, toutes les transactions qui ont lieu un mardi auront une valeur numérique double `0`.

La transaction 8192 a eu lieu le 5 janvier. La fonction `weekday()` identifie qu'il s'agit un mercredi ; par conséquent, l'expression renvoie la valeur numérique double `1`.

## Exemple 3 - exemple objet graphique

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

* Variable système `FirstWeekDay` définie sur `6` (dimanche).

* Variable `DayNames` définie de sorte à utiliser les noms de jour par défaut.

Cependant, dans cet exemple, le jeu de données est le même et chargé dans l'application. Le calcul qui identifie la valeur weekday est créé sous forme de mesure dans un graphique de l'application.

Script de chargement

```
SET DateFormat='MM/DD/YYYY'; 
SET DayNames='Mon;Tue;Wed;Thu;Fri;Sat;Sun'; 
SET FirstWeekDay=6; 
 
Transactions: 
Load 
* 
Inline  
[ 
id,date,amount 
8188,01/01/2022,37.23 
8189,01/02/2022,17.17 
8190,01/03/2022,88.27 
8191,01/04/2022,57.42 
8192,01/05/2022,53.80 
8193,01/06/2022,82.06 
8194,01/07/2022,40.39 
]; 
```

Résultats

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

* `id`
* `date`

Pour calculer la valeur weekday, créez la mesure suivante :

* `=weekday(date)`

Tableau de résultats

| id | date | =weekday(date) |
| --- | --- | --- |
| 8188 | 01/01/2022 | Sat |
| 8189 | 01/02/2022 | Sun |
| 8190 | 01/03/2022 | Mon |
| 8191 | 01/04/2022 | Tue |
| 8192 | 01/05/2022 | Wed |
| 8193 | 01/06/2022 | Thu |
| 8194 | 01/07/2022 | Fri |

Le champ ‘`=weekday(date)`’ est créé dans le graphique via la fonction `weekday()` et en transmettant le champ date comme argument de la fonction.

La fonction `weekday()` renvoie la valeur de chaîne weekday, à savoir, le nom du jour de la semaine défini par la variable système `DayNames`.

Diagramme de la fonction `weekday()` renvoyant le mercredi comme jour de la semaine pour la transaction 8192

Diagramme de la fonction `weekday()` renvoyant le mercredi comme jour de la semaine pour la transaction 8192

Diagramme de la fonction `weekday()`weekday() renvoyant le mercredi comme jour de la semaine pour la transaction 8192 ![Diagramme montrant que la fonction weekday() renvoie le mercredi comme jour de la semaine pour la transaction 8192.](https://help.qlik.com/fr-FR/cloud-services/Subsystems/Hub/Content/Resources/Images/scripting-functions-weekday-examples1_and3-diagram.png)

La transaction 8192 a eu lieu le 5 janvier. La variable système `FirstWeekDay` définit le premier jour de la semaine comme étant le dimanche. La transaction de la fonction `weekday()` a eu lieu un mercredi et renvoie cette valeur, au format abrégé de la variable système `DayNames`, dans le champ `=weekday(date)`.

## Exemple 4 - scénario

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

* Variable système `FirstWeekDay` définie sur `6` (dimanche).

* Variable `DayNames` définie de sorte à utiliser les noms de jour par défaut.

L'utilisateur final souhaite un graphique présentant les ventes moyennes par jour de la semaine pour les transactions.

Script de chargement

```
SET DateFormat='MM/DD/YYYY'; 
SET DayNames='Mon;Tue;Wed;Thu;Fri;Sat;Sun'; 
SET FirstWeekDay=6; 
 
Transactions: 
LOAD 
  RecNo() AS id, 
  MakeDate(2022, 1, Ceil(Rand() * 31)) as date, 
  Rand() * 1000 AS amount 
						
Autogenerate(1000); 
```

Résultats

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

* `=weekday(date)`
* `=avg(amount)`

Définissez le Formatage des nombres des mesures sur Devise.

Tableau de résultats

| weekday(date) | Avg(amount) |
| --- | --- |
| Sun | $536.96 |
| Mon | $500.80 |
| Tue | $515.63 |
| Wed | $509.21 |
| Thu | $482.70 |
| Fri | $441.33 |
| Sat | $505.22 |