# inweektodate Fonction de script et de graphique

Cette fonction renvoie la valeur True si l'argument timestamp se trouve dans la partie de la semaine comprenant l'argument base\_date jusqu'à la dernière milliseconde spécifiée dans base\_date.

Syntaxe :

InWeekToDate (timestamp, base\_date, period\_no [, first\_week\_day])

Type de données renvoyé : Booléen

Note Informations

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

Diagramme de la fonction inweektodate

Diagramme de la fonction inweektodate

Diagramme de la fonction inweektodate ![Exemple de diagramme de la plage de dates dans laquelle la fonction inweektodate renverra une valeur TRUE.](https://help.qlik.com/fr-FR/cloud-services/Subsystems/Hub/Content/Resources/Images/scripting-functions-inweektodate-general.png)

La fonction `inweektodate()` utilise le paramètre `base_date` pour identifier une date limite maximale d'un segment de semaine, ainsi que sa date correspondante pour le début de la semaine, qui est basée sur la variable système `FirstWeekDay` (ou le paramètre `first_week_day` défini par l'utilisateur). Une fois ce segment de semaine défini, la fonction renvoie des résultats booléens lors de la comparaison des valeurs de date prescrites à ce segment.

## Cas d'utilisation de inweektodate

La fonction `inweektodate()` renvoie un résultat booléen. Ce type de fonction sera généralement utilisé comme condition dans une expression `if`. Cela renvoie une agrégation ou un calcul suivant qu'une date évaluée s'est produite ou non au cours de la semaine en question jusqu'à une date donnée incluse.

Par exemple, la fonction `inweektodate()` peut être utilisée pour calculer toutes les ventes réalisées au cours d'une semaine spécifiée jusqu'à une date spécifique.

Arguments

| Argument | Description |
| --- | --- |
| timestamp | Date à comparer à base\_date. |
| base\_date | Date utilisée pour évaluer la semaine. |
| period\_no | Il est possible de décaler la semaine à l'aide de l'argument period\_no. period\_no est un entier, où la valeur 0 indique la semaine comprenant l'argument base\_date. Les valeurs négatives spécifiées pour period\_no indiquent les semaines passées tandis que les valeurs positives désignent les semaines à venir. |
| first\_week\_day | Par défaut, le premier jour de la semaine est le dimanche (tel que déterminé par la variable système FirstWeekDay), commençant à minuit entre le samedi et le dimanche. Le paramètre first\_week\_day remplace la variable FirstWeekDay. Pour que la semaine commence un autre jour, spécifiez un indicateur compris entre 0 et 6.<br><br>Pour une semaine commençant le lundi et se terminant le dimanche, utilisez un indicateur 0 pour lundi, 1 pour mardi, 2 pour mercredi, 3 pour jeudi, 4 pour vendredi, 5 pour samedi et 6 pour dimanche. |

Exemples de fonction

| Exemple | Interaction |
| --- | --- |
| `inweektodate('01/12/2006', '01/12/2006', 0)` | Renvoie `TRUE`. |
| `inweektodate('01/12/2006', '01/11/2006', 0)` | Renvoie `FALSE`. |
| ` inweektodate('01/12/2006', '01/18/2006', -1)  ` | Renvoie `FALSE`.<br>Comme `period_no` est défini sur -1, la date réelle par rapport à laquelle l'argument d'horodatage `timestamp` est mesuré est le 01/11/2006. |
| ` inweektodate('01/11/2006', '01/12/2006', 0, 3 )  ` | Renvoie `FALSE`, car `first_week_day` est défini sur `3` (un jeudi), ce qui fait du 01/12/2006 le premier jour de la semaine suivant la semaine contenant la date du 01/12/2006. |

Ces rubriques peuvent vous aider à utiliser cette fonction :

Rubriques connexes

| Rubrique | Indicateur/valeur par défaut | Description |
| --- | --- | --- |
| [FirstWeekDay](https://help.qlik.com/fr-FR/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/NumberInterpretationVariables/FirstWeekDay.htm) | 6 / Dimanche | Définit le jour de début de chaque semaine. |

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

## Exemple 1 – aucun argument supplémentaire

[](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/inweektodate.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 mois de janvier 2022, chargé dans une table appelée ‘`Transactions`’.

* Champ de données fourni au format `TimestampFormat='M/D/YYYY h:mm:ss[.fff]'`.

* Création d'un champ, `in_week_to_date`, qui détermine les transactions qui ont eu lieu au cours de la semaine jusqu'au 14 janvier 2022.

* Création d'un champ supplémentaire appelé `weekday` via la fonction `weekday()`. Ce nouveau champ est créé pour indiquer quel jour de la semaine correspond à chaque date.

Script de chargement

```
SET TimestampFormat='M/D/YYYY h:mm:ss[.fff]';
SET FirstWeekDay=6;
Transactions:
    Load
        *,
        weekday(date) as week_day,
        inweektodate(date,'01/14/2022', 0) as in_week_to_date
        ;
Load
*
Inline
[
id,date,amount
8188,'2022-01-02 12:22:06',37.23
8189,'2022-01-05 01:02:30',17.17
8190,'2022-01-06 15:36:20',88.27
8191,'2022-01-08 10:58:35',57.42
8192,'2022-01-09 08:53:32',53.80
8193,'2022-01-10 21:13:01',82.06
8194,'2022-01-11 00:57:13',40.39
8195,'2022-01-12 09:26:02',87.21
8196,'2022-01-13 15:05:09',95.93
8197,'2022-01-14 18:44:57',45.89
8198,'2022-01-15 06:10:46',36.23
8199,'2022-01-16 06:39:27',25.66
8200,'2022-01-17 10:44:16',82.77
8201,'2022-01-18 18:48:17',69.98
8202,'2022-01-26 04:36:03',76.11
8203,'2022-01-27 08:07:49',25.12
8204,'2022-01-28 12:24:29',46.23
8205,'2022-01-30 11:56:56',84.21
8206,'2022-01-30 14:40:19',96.24
8207,'2022-01-31 05:28:21',67.67
];
```

Résultats

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

* `date`

* `week_day`

* `in_week_to_date`

Tableau de résultats

| date | week\_day | in\_week\_to\_date |
| --- | --- | --- |
| 2022-01-02 12:22:06 | Sun | 0 |
| 2022-01-05 01:02:30 | Wed | 0 |
| 2022-01-06 15:36:20 | Thu | 0 |
| 2022-01-08 10:58:35 | Sat | 0 |
| 2022-01-09 08:53:32 | Sun | -1 |
| 2022-01-10 21:13:01 | Mon | -1 |
| 2022-01-11 00:57:13 | Tue | -1 |
| 2022-01-12 09:26:02 | Wed | -1 |
| 2022-01-13 15:05:09 | Thu | -1 |
| 2022-01-14 18:44:57 | Fri | -1 |
| 2022-01-15 06:10:46 | Sat | 0 |
| 2022-01-16 06:39:27 | Sun | 0 |
| 2022-01-17 10:44:16 | Mon | 0 |
| 2022-01-18 18:48:17 | Tue | 0 |
| 2022-01-26 04:36:03 | Wed | 0 |
| 2022-01-27 08:07:49 | Thu | 0 |
| 2022-01-28 12:24:29 | Fri | 0 |
| 2022-01-30 11:56:56 | Sun | 0 |
| 2022-01-30 14:40:19 | Sun | 0 |
| 2022-01-31 05:28:21 | Mon | 0 |

Le champ `in_week_to_date` est créé dans l'instruction preceding load à l'aide de la fonction `inweektodate()`. Le premier argument fourni identifie le champ en cours d'évaluation. Le deuxième argument est une date codée en dur du 14 janvier, qui est la valeur `base_date` qui identifie la semaine à segmenter et définit la limite de fin du segment en question. Une valeur `period_no` égale à 0 constitue l'argument final, ce qui signifie que la fonction ne compare pas les semaines précédant ou suivant la semaine segmentée.

La variable système `FirstWeekDay` détermine que les semaines commencent un dimanche et se terminent un samedi. Par conséquent, janvier serait divisé en semaines selon le diagramme ci-dessous, les dates comprises entre le 9 et le 14 janvier fournissant la période valide pour le calcul `inweekdodate()` :

Diagramme de calendrier indiquant les dates de transaction qui renverraient un résultat booléen TRUE

Diagramme de calendrier indiquant les dates de transaction qui renverraient un résultat booléen TRUE

Diagramme de calendrier indiquant les dates de transaction qui renverraient un résultat booléen TRUE ![Diagramme indiquant la plage de dates pour laquelle la fonction inweektodate renverra une valeur TRUE.](https://help.qlik.com/fr-FR/cloud-services/Subsystems/Hub/Content/Resources/Images/scripting-functions-inweektodate-no-add-arg-calendar.png)

Toute transaction qui se produit entre le 9 janvier et le 14 janvier renvoie un résultat booléen `TRUE`. Les transactions avant et après les dates renvoient un résultat booléen `FALSE`.

## Exemple 2 – period\_no

[](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/inweektodate.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, `prev_week_to_date`, qui détermine les transactions qui ont eu lieu une semaine complète avant la fin du segment de semaine le 14 janvier 2022.

* Création d'un champ supplémentaire appelé `weekday` via la fonction `weekday()`. Cela a pour objectif d'indiquer quel jour de la semaine correspond à chaque date.

Script de chargement

```
SET FirstWeekDay=6;
SET TimestampFormat='M/D/YYYY h:mm:ss[.fff]';
Transactions:
    Load
        *,
        weekday(date) as week_day,
        inweektodate(date,'01/14/2022', -1) as prev_week_to_date
        ;
Load
*
Inline
[
id,date,amount
8188,'2022-01-02 12:22:06',37.23
8189,'2022-01-05 01:02:30',17.17
8190,'2022-01-06 15:36:20',88.27
8191,'2022-01-08 10:58:35',57.42
8192,'2022-01-09 08:53:32',53.80
8193,'2022-01-10 21:13:01',82.06
8194,'2022-01-11 00:57:13',40.39
8195,'2022-01-12 09:26:02',87.21
8196,'2022-01-13 15:05:09',95.93
8197,'2022-01-14 18:44:57',45.89
8198,'2022-01-15 06:10:46',36.23
8199,'2022-01-16 06:39:27',25.66
8200,'2022-01-17 10:44:16',82.77
8201,'2022-01-18 18:48:17',69.98
8202,'2022-01-26 04:36:03',76.11
8203,'2022-01-27 08:07:49',25.12
8204,'2022-01-28 12:24:29',46.23
8205,'2022-01-30 11:56:56',84.21
8206,'2022-01-30 14:40:19',96.24
8207,'2022-01-31 05:28:21',67.67
];
```

Résultats

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

* `date`

* `week_day`

* `prev_week_to_date`

Tableau de résultats

| date | week\_day | prev\_week\_to\_date |
| --- | --- | --- |
| 2022-01-02 12:22:06 | Sun | -1 |
| 2022-01-05 01:02:30 | Wed | -1 |
| 2022-01-06 15:36:20 | Thu | -1 |
| 2022-01-08 10:58:35 | Sat | 0 |
| 2022-01-09 08:53:32 | Sun | 0 |
| 2022-01-10 21:13:01 | Mon | 0 |
| 2022-01-11 00:57:13 | Tue | 0 |
| 2022-01-12 09:26:02 | Wed | 0 |
| 2022-01-13 15:05:09 | Thu | 0 |
| 2022-01-14 18:44:57 | Fri | 0 |
| 2022-01-15 06:10:46 | Sat | 0 |
| 2022-01-16 06:39:27 | Sun | 0 |
| 2022-01-17 10:44:16 | Mon | 0 |
| 2022-01-18 18:48:17 | Tue | 0 |
| 2022-01-26 04:36:03 | Wed | 0 |
| 2022-01-27 08:07:49 | Thu | 0 |
| 2022-01-28 12:24:29 | Fri | 0 |
| 2022-01-30 11:56:56 | Sun | 0 |
| 2022-01-30 14:40:19 | Sun | 0 |
| 2022-01-31 05:28:21 | Mon | 0 |

Une valeur `period_no` égale à -1 indique que la fonction `inweektodate ()` compare le segment de trimestre d'entrée à la semaine précédente. Le segment de semaine équivaut initialement aux dates entre le 9 janvier et le 14 janvier. La valeur `period_no` décale ensuite les deux limites de début et de fin de ce segment d'une semaine en arrière, ce qui fait que les limites de date deviennent du 2 janvier au 7 janvier.

Diagramme de calendrier indiquant les dates de transaction qui renverraient un résultat booléen TRUE

Diagramme de calendrier indiquant les dates de transaction qui renverraient un résultat booléen TRUE

Diagramme de calendrier indiquant les dates de transaction qui renverraient un résultat booléen TRUE ![Diagramme indiquant la plage de dates pour laquelle la fonction inweektodate renverra une valeur TRUE.](https://help.qlik.com/fr-FR/cloud-services/Subsystems/Hub/Content/Resources/Images/scripting-functions-inweektodate-period-no-calendar.png)

Par conséquent, toute transaction effectuée entre le 2 janvier et le 8 janvier (sans inclure le 8 janvier lui-même) renverra un résultat booléen `TRUE`.

## Exemple 3 – first\_week\_day

[](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/inweektodate.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, `in_week_to_date`, qui détermine les transactions qui ont eu lieu au cours de la semaine jusqu'au 14 janvier 2022.

* Création d'un champ supplémentaire appelé `weekday` via la fonction `weekday()`. Cela a pour objectif d'indiquer quel jour de la semaine correspond à chaque date.

Dans cet exemple, nous considérons le lundi comme le premier jour de la semaine.

Script de chargement

```
SET FirstWeekDay=6;
SET TimestampFormat='M/D/YYYY h:mm:ss[.fff]';

Transactions:
    Load
        *,
        weekday(date) as week_day,
        inweektodate(date,'01/14/2022', 0, 0) as in_week_to_date
        ;
Load
*
Inline
[
id,date,amount
8188,'2022-01-02 12:22:06',37.23
8189,'2022-01-05 01:02:30',17.17
8190,'2022-01-06 15:36:20',88.27
8191,'2022-01-08 10:58:35',57.42
8192,'2022-01-09 08:53:32',53.80
8193,'2022-01-10 21:13:01',82.06
8194,'2022-01-11 00:57:13',40.39
8195,'2022-01-12 09:26:02',87.21
8196,'2022-01-13 15:05:09',95.93
8197,'2022-01-14 18:44:57',45.89
8198,'2022-01-15 06:10:46',36.23
8199,'2022-01-16 06:39:27',25.66
8200,'2022-01-17 10:44:16',82.77
8201,'2022-01-18 18:48:17',69.98
8202,'2022-01-26 04:36:03',76.11
8203,'2022-01-27 08:07:49',25.12
8204,'2022-01-28 12:24:29',46.23
8205,'2022-01-30 11:56:56',84.21
8206,'2022-01-30 14:40:19',96.24
8207,'2022-01-31 05:28:21',67.67
];
```

Résultats

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

* `date`

* `week_day`

* `in_week_to_date`

Tableau de résultats

| date | week\_day | in\_week\_to\_date |
| --- | --- | --- |
| 2022-01-02 12:22:06 | Sun | 0 |
| 2022-01-05 01:02:30 | Wed | 0 |
| 2022-01-06 15:36:20 | Thu | 0 |
| 2022-01-08 10:58:35 | Sat | 0 |
| 2022-01-09 08:53:32 | Sun | 0 |
| 2022-01-10 21:13:01 | Mon | -1 |
| 2022-01-11 00:57:13 | Tue | -1 |
| 2022-01-12 09:26:02 | Wed | -1 |
| 2022-01-13 15:05:09 | Thu | -1 |
| 2022-01-14 18:44:57 | Fri | -1 |
| 2022-01-15 06:10:46 | Sat | 0 |
| 2022-01-16 06:39:27 | Sun | 0 |
| 2022-01-17 10:44:16 | Mon | 0 |
| 2022-01-18 18:48:17 | Tue | 0 |
| 2022-01-26 04:36:03 | Wed | 0 |
| 2022-01-27 08:07:49 | Thu | 0 |
| 2022-01-28 12:24:29 | Fri | 0 |
| 2022-01-30 11:56:56 | Sun | 0 |
| 2022-01-30 14:40:19 | Sun | 0 |
| 2022-01-31 05:28:21 | Mon | 0 |

Si on utilise 0 comme argument `first_week_day` dans la fonction `inweektodate()`, l'argument de la fonction remplace la variable système `FirstWeekDay` et définit le lundi comme le premier jour de la semaine.

Diagramme de calendrier indiquant les dates de transaction qui renverraient un résultat booléen TRUE

Diagramme de calendrier indiquant les dates de transaction qui renverraient un résultat booléen TRUE

Diagramme de calendrier indiquant les dates de transaction qui renverraient un résultat booléen TRUE ![Diagramme indiquant la plage de dates de transactions pour laquelle la fonction inweektodate renverra une valeur TRUE.](https://help.qlik.com/fr-FR/cloud-services/Subsystems/Hub/Content/Resources/Images/scripting-functions-inweektodate-first-week-day-calendar.png)

Par conséquent, toute transaction qui se produit entre le 10 janvier et le 14 janvier renverra un résultat booléen `TRUE`, tandis que les transactions avec des dates en dehors de ces limites renverront une valeur `FALSE`.

## Exemple 4 – Exemple d'objet graphique

[](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/inweektodate.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 détermine les transactions qui ont eu lieu la même semaine jusqu'au 14 janvier est créé sous forme de mesure dans l'objet graphique.

Script de chargement

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

Transactions:
Load
*
Inline
[
id,date,amount
8188,'2022-01-02 12:22:06',37.23
8189,'2022-01-05 01:02:30',17.17
8190,'2022-01-06 15:36:20',88.27
8191,'2022-01-08 10:58:35',57.42
8192,'2022-01-09 08:53:32',53.80
8193,'2022-01-10 21:13:01',82.06
8194,'2022-01-11 00:57:13',40.39
8195,'2022-01-12 09:26:02',87.21
8196,'2022-01-13 15:05:09',95.93
8197,'2022-01-14 18:44:57',45.89
8198,'2022-01-15 06:10:46',36.23
8199,'2022-01-16 06:39:27',25.66
8200,'2022-01-17 10:44:16',82.77
8201,'2022-01-18 18:48:17',69.98
8202,'2022-01-26 04:36:03',76.11
8203,'2022-01-27 08:07:49',25.12
8204,'2022-01-28 12:24:29',46.23
8205,'2022-01-30 11:56:56',84.21
8206,'2022-01-30 14:40:19',96.24
8207,'2022-01-31 05:28:21',67.67
];
```

Résultats

Procédez comme suit :

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

2. Pour calculer si des transactions ont eu lieu au cours de la même semaine jusqu'au 14 janvier, créez la mesure suivante :

   =inweektodate(date,'01/14/2022',0)

3. Pour indiquer quel jour de la semaine correspond à chaque date, créez une mesure supplémentaire :

   =weekday(date)

Tableau de résultats

| date | week\_day | in\_week\_to\_date |
| --- | --- | --- |
| 2022-01-02 12:22:06 | Sun | 0 |
| 2022-01-05 01:02:30 | Wed | 0 |
| 2022-01-06 15:36:20 | Thu | 0 |
| 2022-01-08 10:58:35 | Sat | 0 |
| 2022-01-09 08:53:32 | Sun | -1 |
| 2022-01-10 21:13:01 | Mon | -1 |
| 2022-01-11 00:57:13 | Tue | -1 |
| 2022-01-12 09:26:02 | Wed | -1 |
| 2022-01-13 15:05:09 | Thu | -1 |
| 2022-01-14 18:44:57 | Fri | -1 |
| 2022-01-15 06:10:46 | Sat | 0 |
| 2022-01-16 06:39:27 | Sun | 0 |
| 2022-01-17 10:44:16 | Mon | 0 |
| 2022-01-18 18:48:17 | Tue | 0 |
| 2022-01-26 04:36:03 | Wed | 0 |
| 2022-01-27 08:07:49 | Thu | 0 |
| 2022-01-28 12:24:29 | Fri | 0 |
| 2022-01-30 11:56:56 | Sun | 0 |
| 2022-01-30 14:40:19 | Sun | 0 |
| 2022-01-31 05:28:21 | Mon | 0 |

Le champ in\_week\_to\_date est créé sous forme de mesure dans l'objet graphique à l'aide de la fonction inweektodate(). Le premier argument fourni identifie le champ en cours d'évaluation. Le deuxième argument est une date codée en dur du 14 janvier, qui est la valeur base\_date qui identifie la semaine à segmenter et définit la limite de fin du segment en question. Une valeur period\_no égale à 0 constitue l'argument final, ce qui signifie que la fonction ne compare pas les semaines précédant ou suivant la semaine segmentée.

La variable système FirstWeekDay détermine que les semaines commencent un dimanche et se terminent un samedi. Par conséquent, janvier serait divisé en semaines selon le diagramme ci-dessous, les dates comprises entre le 9 et le 14 janvier fournissant la période valide pour le calcul inweekdodate() :

Diagramme de calendrier indiquant les dates de transaction qui renverraient un résultat booléen TRUE

Diagramme de calendrier indiquant les dates de transaction qui renverraient un résultat booléen TRUE

Diagramme de calendrier indiquant les dates de transaction qui renverraient un résultat booléen TRUE ![Diagramme indiquant la plage de dates pour laquelle la fonction inweektodate renverra une valeur TRUE.](https://help.qlik.com/fr-FR/cloud-services/Subsystems/Hub/Content/Resources/Images/scripting-functions-inweektodate-chart-object-calendar.png)

Toute transaction qui se produit entre le 9 janvier et le 14 janvier renvoie un résultat booléen TRUE. Les transactions avant et après les dates renvoient un résultat booléen FALSE.

## Exemple 5 – Scénario

[](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/inweektodate.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 chargé dans une table appelée Products.

* Informations concernant l'ID du produit, la date de fabrication et le prix de revient.

Il a été identifié que suite, à une erreur d'équipement, des produits fabriqués la semaine du 12 janvier étaient défectueux. Le problème a été résolu le 13 janvier. L'utilisateur final souhaite un objet graphique qui affiche, par semaine, l'état des produits fabriqués 'defective' (défectueux) ou 'faultless' (corrects) et le coût des produits fabriqués cette semaine-là.

Script de chargement

```
Products:
Load
*
Inline
[
product_id,manufacture_date,cost_price
8188,'2022-01-02 12:22:06',37.23
8189,'2022-01-05 01:02:30',17.17
8190,'2022-01-06 15:36:20',88.27
8191,'2022-01-08 10:58:35',57.42
8192,'2022-01-09 08:53:32',53.80
8193,'2022-01-10 21:13:01',82.06
8194,'2022-01-11 00:57:13',40.39
8195,'2022-01-12 09:26:02',87.21
8196,'2022-01-13 15:05:09',95.93
8197,'2022-01-14 18:44:57',45.89
8198,'2022-01-15 06:10:46',36.23
8199,'2022-01-16 06:39:27',25.66
8200,'2022-01-17 10:44:16',82.77
8201,'2022-01-18 18:48:17',69.98
8202,'2022-01-26 04:36:03',76.11
8203,'2022-01-27 08:07:49',25.12
8204,'2022-01-28 12:24:29',46.23
8205,'2022-01-30 11:56:56',84.21
8206,'2022-01-30 14:40:19',96.24
8207,'2022-01-31 05:28:21',67.67
];
```

Résultats

Procédez comme suit :

1. Chargez les données et ouvrez une feuille. Créez un tableau. Créez une dimension pour afficher les noms de semaine :

   =weekname(manufacture\_date)

2. Ensuite, créez une dimension pour identifier les produits défectueux et les produits corrects :

   =if(inWeektodate(manufacture\_date,makedate(2022,01,12),0),'Defective','Faultless')

3. Créez une mesure pour additionner les valeurs cost\_price des produits :

   =sum(cost\_price)

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

Tableau de résultats

| weekname(manufacture\_date) | if(inweektodate(manufacture\_date,makedate(2022,01,12),0),'Defective','Faultless') | Sum(cost\_price) |
| --- | --- | --- |
| 2022/02 | Faultless | $200.09 |
| 2022/03 | Defective | $263.46 |
| 2022/03 | Faultless | $178.05 |
| 2022/04 | Faultless | $178.41 |
| 2022/05 | Faultless | $147.46 |
| 2022/06 | Faultless | $248.12 |

La fonction inweektodate() renvoie une valeur booléenne lors de l'évaluation des dates de fabrication de chacun des produits. Les produits qui renvoient une valeur booléenne TRUE sont identifiés comme 'Defective'. Tout produit renvoyant une valeur FALSE et par conséquent non fabriqué au cours de la semaine jusqu'au 12 janvier est identifié comme ‘Faultless’.