# dayend - Fonction de script et de graphique

Cette fonction renvoie une valeur correspondant à un horodatage de la dernière milliseconde du jour figurant dans time. Le format de sortie par défaut correspond à l'argument TimestampFormat défini dans le script.

DayEnd(time[, [period\_no[, day\_start]])

Cas d'utilisation

La fonction `  dayend() ` est couramment utilisée dans le cadre d'une expression lorsque l'utilisateur souhaite que le calcul utilise la fraction du jour qui n'a pas encore eu lieu. Par exemple, pour calculer les dépenses totales non encore encourues au cours de la journée.

double

Arguments

| Argument | Description |
| --- | --- |
| time | Horodatage à évaluer. |
| period\_no | period\_no est un entier ou une expression qui aboutit à un entier, où la valeur 0 indique le jour contenant time. Les valeurs négatives de l'argument period\_no indiquent les jours passés tandis que les valeurs positives désignent les jours à venir. |
| day\_start | Pour spécifier que les jours ne commencent pas à minuit, indiquez un décalage sous forme de fraction d'un jour dans day\_start. Par exemple, 0.125 signifie 3 h du matin.<br><br>En d'autres termes, pour créer le décalage, divisez l'heure de début par 24 heures. Par exemple, pour qu'une journée commence à 7h00 du matin, utilisez la fraction 7/24. |

## Paramètres régionaux

Sauf indication contraire, les exemples de cette rubrique utilisent le format de date suivant : MM/JJ/AAAA. 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 sur lequel 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'interface utilisateur Qlik Sense. Qlik Sense sera affiché dans la même langue que celle du navigateur que vous utilisez.

Exemples de fonction

| Exemple | Résultat |
| --- | --- |
| dayend('01/25/2013 16:45:00') | Renvoie 01/25/2013 23:59:59. PM |
| dayend('01/25/2013 16:45:00', -1) | Renvoie 01/24/2013 23:59:59. PM |
| dayend('01/25/2013 16:45:00', 0, 0.5) | Renvoie 01/26/2013 11:59:59. PM |

## Exemple 1 - Script de base

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/dayend.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 jeu de données contenant une liste de dates, qui est chargé dans une table nommée "Calendar".

* La variable système `DateFormat` par défaut `(MM/DD/YYYY)`.

* Une instruction preceding load pour créer un champ supplémentaire, '`EOD_timestamp`', via la fonction `dayend()`.

Script de chargement

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

Calendar: 
    Load 
      date, 
      dayend(date) as EOD_timestamp 
      ; 
Load 
date 
Inline  
[ 
date 
03/11/2022 1:47:15 AM 
03/12/2022 4:34:58 AM 
03/13/2022 5:15:55 AM 
03/14/2022 9:25:14 AM 
03/15/2022 10:06:54 AM 
03/16/2022 10:44:42 AM 
03/17/2022 11:33:30 AM 
03/18/2022 12:58:14 PM 
03/19/2022 4:23:12 PM 
03/20/2022 6:42:15 PM 
03/21/2022 7:41:16 PM 
]; 
```

Résultats

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

* `date`

* `EOD_timestamp`

Tableau de résultats

| date | EOD\_timestamp |
| --- | --- |
| 03/11/2022 1:47:15 AM | 3/11/2022 11:59:59 PM |
| 03/12/2022 4:34:58 AM | 3/12/2022 11:59:59 PM |
| 03/13/2022 5:15:55 AM | 3/13/2022 11:59:59 PM |
| 03/14/2022 9:25:14 AM | 3/14/2022 11:59:59 PM |
| 03/15/2022 10:06:54 AM | 3/15/2022 11:59:59 PM |
| 03/16/2022 10:44:42 AM | 3/16/2022 11:59:59 PM |
| 03/17/2022 11:33:30 AM | 3/17/2022 11:59:59 PM |
| 03/18/2022 12:58:14 PM | 3/18/2022 11:59:59 PM |
| 03/19/2022 4:23:12 PM | 3/19/2022 11:59:59 PM |
| 03/20/2022 6:42:15 PM | 3/20/2022 11:59:59 PM |
| 03/21/2022 7:41:16 PM | 3/21/2022 11:59:59 PM |

Comme vous pouvez le voir dans le tableau ci-dessus, l'horodatage de fin de journée est généré pour chaque date de votre jeu de données. L'horodatage se présente au format de la variable système `TimestampFormat M/D/YYYY h:mm:ss[.fff] TT`.

## Exemple 2 – period\_no

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

Vous allez charger un jeu de données contenant des réservations de services dans un tableau nommé Services.

Le jeu de données inclut les champs suivants :

* `service_id`

* `service_date`

* `amount`

Vous allez créer deux champs dans le tableau :

* `deposit_due_date` : date à laquelle l'acompte doit être reçu. Il s'agit de la fin de la journée trois jours avant `service_date`.

* `final_payment_due_date` : date à laquelle le paiement final doit être reçu. Il s'agit de la fin de la journée sept jours après `service_date`.

Les deux champs ci-dessus sont créés lors d'un chargement précédent via la fonction `dayend()` et fournissent les deux premiers paramètres, `time` et `period_no`.

Script de chargement

```
SET TimestampFormat='M/D/YYYY h:mm:ss[.fff] TT'; 
						
Services: 
   Load 
     *, 
     dayend(service_date,-3) as deposit_due_date, 
     dayend(service_date,7) as final_payment_due_date 
     ; 
Load 
service_id, 
service_date, 
amount 
Inline  
[ 
service_id, service_date,amount
1,03/11/2022 9:25:14 AM,231.24 
2,03/12/2022 10:06:54 AM,567.28 
3,03/13/2022 10:44:42 AM,364.28 
4,03/14/2022 11:33:30 AM,575.76 
5,03/15/2022 12:58:14 PM,638.68 
6,03/16/2022 4:23:12 PM,785.38 
7,03/17/2022 6:42:15 PM,967.46 
8,03/18/2022 7:41:16 PM,287.67 
9,03/19/2022 8:14:15 PM,764.45 
10,03/20/2022 9:23:51 PM,875.43 
11,03/21/2022 10:04:41 PM,957.35 
]; 
```

Résultats

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

* `service_date`

* `deposit_due_date`

* `final_payment_due_date`

Tableau de résultats

| service\_date | deposit\_due\_date | final\_payment\_due\_date |
| --- | --- | --- |
| 03/11/2022 9:25:14 AM | 3/8/2022 11:59:59 PM | 3/18/2022 11:59:59 PM |
| 03/12/2022 10:06:54 AM | 3/9/2022 11:59:59 PM | 3/19/2022 11:59:59 PM |
| 03/13/2022 10:44:42 AM | 3/10/2022 11:59:59 PM | 3/20/2022 11:59:59 PM |
| 03/14/2022 11:33:30 AM | 3/11/2022 11:59:59 PM | 3/21/2022 11:59:59 PM |
| 03/15/2022 12:58:14 PM | 3/12/2022 11:59:59 PM | 3/22/2022 11:59:59 PM |
| 03/16/2022 4:23:12 PM | 3/13/2022 11:59:59 PM | 3/23/2022 11:59:59 PM |
| 03/17/2022 6:42:15 PM | 3/14/2022 11:59:59 PM | 3/24/2022 11:59:59 PM |
| 03/18/2022 7:41:16 PM | 3/15/2022 11:59:59 PM | 3/25/2022 11:59:59 PM |
| 03/19/2022 8:14:15 PM | 3/16/2022 11:59:59 PM | 3/26/2022 11:59:59 PM |
| 03/20/2022 9:23:51 PM | 3/17/2022 11:59:59 PM | 3/27/2022 11:59:59 PM |
| 03/21/2022 10:04:41 PM | 3/18/2022 11:59:59 PM | 3/28/2022 11:59:59 PM |

Les valeurs des nouveaux champs se présentent au format `TimestampFormat M/D/YYYY h:mm:ss[.fff] TT`. Étant donné que la fonction `dayend()` a été utilisée, les valeurs d'horodatage indiquent toutes la dernière milliseconde de la journée.

Les valeurs de date d'échéance de l'acompte sont trois jours avant la date du service, car le deuxième argument transmis dans la fonction `dayend()` est négatif.

Les valeurs de date d'échéance du paiement final sont sept jours après la date du service, car le deuxième argument transmis dans la fonction `dayend()` est positif.

## Exemple 3 – script day\_start

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

Le jeu de données et le scénario utilisés dans cet exemple sont les mêmes que ceux de l'exemple précédent.

Comme dans l'exemple précédent, vous allez créer deux champs :

* `deposit_due_date` : date à laquelle l'acompte doit être reçu. Il s'agit de la fin de la journée trois jours avant `service_date`.

* `final_payment_due_date` : date à laquelle le paiement final doit être reçu. Il s'agit de la fin de la journée sept jours après `service_date`.

Cependant, votre entreprise souhaite appliquer une politique stipulant que la journée de travail commence à 17h00 et se termine à 17h00 le jour suivant. Votre entreprise peut alors surveiller les transactions qui ont lieu au cours de ces heures de travail.

Pour remplir ces conditions, les deux champs ci-dessus sont créés lors d'un chargement précédent via la fonction `dayend()` et fournissent l'ensemble des trois arguments, `time`, `period_no` et `day_start`.

Script de chargement

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

Services: 
   Load 
     *, 
     dayend(service_date,-3,17/24) as deposit_due_date, 
     dayend(service_date,7,17/24) as final_payment_due_date 
     ; 
Load 
service_id, 
service_date, 
amount 
Inline  
[ 
service_id, service_date,amount 
1,03/11/2022 9:25:14 AM,231.24 
2,03/12/2022 10:06:54 AM,567.28 
3,03/13/2022 10:44:42 AM,364.28 
4,03/14/2022 11:33:30 AM,575.76 
5,03/15/2022 12:58:14 PM,638.68 
6,03/16/2022 4:23:12 PM,785.38 
7,03/17/2022 6:42:15 PM,967.46 
8,03/18/2022 7:41:16 PM,287.67 
9,03/19/2022 8:14:15 PM,764.45 
10,03/20/2022 9:23:51 PM,875.43 
11,03/21/2022 10:04:41 PM,957.35 
]; 
```

Résultats

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

* `service_date`

* `deposit_due_date`

* `final_payment_due_date`

Tableau de résultats

| service\_date | deposit\_due\_date | final\_payment\_due\_date |
| --- | --- | --- |
| 03/11/2022 9:25:14 AM | 3/8/2022 4:59:59 PM | 3/18/2022 4:59:59 PM |
| 03/12/2022 10:06:54 AM | 3/9/2022 4:59:59 PM | 3/19/2022 4:59:59 PM |
| 03/13/2022 10:44:42 AM | 3/10/2022 4:59:59 PM | 3/20/2022 4:59:59 PM |
| 03/14/2022 11:33:30 AM | 3/11/2022 4:59:59 PM | 3/21/2022 4:59:59 PM |
| 03/15/2022 12:58:14 PM | 3/12/2022 4:59:59 PM | 3/22/2022 4:59:59 PM |
| 03/16/2022 4:23:12 PM | 3/13/2022 4:59:59 PM | 3/23/2022 4:59:59 PM |
| 03/17/2022 6:42:15 PM | 3/14/2022 4:59:59 PM | 3/24/2022 4:59:59 PM |
| 03/18/2022 7:41:16 PM | 3/15/2022 4:59:59 PM | 3/25/2022 4:59:59 PM |
| 03/19/2022 8:14:15 PM | 3/16/2022 4:59:59 PM | 3/26/2022 4:59:59 PM |
| 03/20/2022 9:23:51 PM | 3/17/2022 4:59:59 PM | 3/27/2022 4:59:59 PM |
| 03/21/2022 10:04:41 PM | 3/18/2022 4:59:59 PM | 3/28/2022 4:59:59 PM |

Même si les dates restent les mêmes que celles de l'exemple 2, leur horodatage est maintenant la dernière milliseconde avant 17h00, car la valeur du troisième argument, `day_start`, transmise à la fonction `dayend()`, est 17/24.

## Exemple 4 – Exemple de graphique

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/dayend.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 jeu de données et le scénario utilisés dans cet exemple sont les mêmes que ceux des deux exemples précédents. L'entreprise souhaite appliquer une politique stipulant que la journée de travail commence à 17h00 et se termine à 17h00 le jour suivant.

Comme dans l'exemple précédent, vous allez créer deux champs :

* deposit\_due\_date : date à laquelle l'acompte doit être reçu. Il s'agit de la fin de la journée trois jours avant service\_date.

* final\_payment\_due\_date : date à laquelle le paiement final doit être reçu. Il s'agit de la fin de la journée sept jours après service\_date.

Script de chargement

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

Services: 
Load 
service_id, 
service_date, 
amount 
Inline  
[ 
service_id, service_date,amount 
1,03/11/2022 9:25:14 AM,231.24 
2,03/12/2022 10:06:54 AM,567.28 
3,03/13/2022 10:44:42 AM,364.28 
4,03/14/2022 11:33:30 AM,575.76 
5,03/15/2022 12:58:14 PM,638.68 
6,03/16/2022 4:23:12 PM,785.38 
7,03/17/2022 6:42:15 PM,967.46 
8,03/18/2022 7:41:16 PM,287.67 
9,03/19/2022 8:14:15 PM,764.45 
10,03/20/2022 9:23:51 PM,875.43 
11,03/21/2022 10:04:41 PM,957.35 
]; 
```

Résultats

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

service\_date.

Pour créer le champ deposit\_due\_date, créez la mesure suivante.

=dayend(service\_date,-3,17/24).

Ensuite, pour créer le champ final\_payment\_due\_date, créez la mesure suivante :

=dayend(service\_date,7,17/24).

Tableau de résultats

| service\_date | =dayend(service\_date,-3,17/24) | =dayend(service\_date,7,17/24 |
| --- | --- | --- |
| 03/11/2022 | 3/8/2022 16:59:59 PM | 3/18/2022 16:59:59 PM |
| 03/12/2022 | 3/9/2022 16:59:59 PM | 3/19/2022 16:59:59 PM |
| 03/13/2022 | 3/10/2022 16:59:59 PM | 3/20/2022 16:59:59 PM |
| 03/14/2022 | 3/11/2022 16:59:59 PM | 3/21/2022 16:59:59 PM |
| 03/15/2022 | 3/12/2022 16:59:59 PM | 3/22/2022 16:59:59 PM |
| 03/16/2022 | 3/13/2022 16:59:59 PM | 3/23/2022 16:59:59 PM |
| 03/17/2022 | 3/14/2022 16:59:59 PM | 3/24/2022 16:59:59 PM |
| 03/18/2022 | 3/15/2022 16:59:59 PM | 3/25/2022 16:59:59 PM |
| 03/19/2022 | 3/16/2022 16:59:59 PM | 3/26/2022 16:59:59 PM |
| 03/20/2022 | 3/17/2022 16:59:59 PM | 3/27/2022 16:59:59 PM |
| 03/21/2022 | 3/18/2022 16:59:59 PM | 3/28/2022 16:59:59 PM |

Les valeurs des nouveaux champs se présentent au format TimestampFormat M/D/YYYY h:mm:ss[.fff] TT. Étant donné que la fonction dayend() a été utilisée, les valeurs d'horodatage indiquent toutes la dernière milliseconde de la journée.

Les valeurs de date d'échéance du paiement sont trois jours avant la date du service, car le deuxième argument transmis dans la fonction dayend() est négatif.

Les valeurs de date d'échéance du paiement final sont sept jours après la date du service, car le deuxième argument transmis dans la fonction dayend() est positif.

L'horodatage des dates est la dernière milliseconde avant 17h00, car la valeur du troisième argument, day\_start, transmise dans la fonction dayend(), est 17/24.

## En savoir plus

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

Arguments

| Argument | Description |
| --- | --- |
| time | Horodatage à évaluer. |
| period\_no | period\_no est un entier ou une expression qui aboutit à un entier, où la valeur 0 indique le jour contenant time. Les valeurs négatives de l'argument period\_no indiquent les jours passés tandis que les valeurs positives désignent les jours à venir. |
| day\_start | Pour spécifier que les jours ne commencent pas à minuit, indiquez un décalage sous forme de fraction d'un jour dans day\_start. Par exemple, 0.125 signifie 3 h du matin. |