# dayend - script- en diagramfunctie

Deze functie retourneert een waarde die overeenkomt met een tijdstempel van de laatste milliseconde van de dag in time. De standaarduitvoernotatie is de TimestampFormat die is ingesteld in het script.

Syntaxis:

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

Wanneer gebruiken

De functie `  dayend() ` wordt doorgaans gebruikt als onderdeel van een uitdrukking als de gebruiker wil dat in de berekening een deel van de dag wordt gebruikt dat nog niet heeft plaatsgevonden. Bijvoorbeeld om de totale kosten te berekenen die gedurende de dag nog gemaakt moeten worden.

Retourgegevenstypen: dual

Argumenten

| Argument | Beschrijving |
| --- | --- |
| time | De te evalueren tijdstempel. |
| period\_no | period\_no is een geheel getal, of een uitdrukking die wordt herleid tot een geheel getal, waarbij de waarde 0 de dag aangeeft die time bevat. Negatieve waarden in period\_no geven voorafgaande dagen aan en positieve waarden geven volgende dagen aan. |
| day\_start | Als u wilt opgeven dat dagen niet om middernacht beginnen, geeft u een verschuiving aan als een fractie van een dag in day\_start. Bijvoorbeeld 0.125 om 03.00 uur aan te geven.<br><br>Met andere woorden: om de offset te maken, verdeelt u de begintijd met 24 uur. Bijvoorbeeld: om een dag te laten beginnen om 7.00 uur, gebruikt u de fractie 7/24. |

## Landinstellingen

Tenzij anders aangegeven, wordt in de voorbeelden in dit onderwerp de volgende datumindeling gebruikt: MM/DD/JJJJ. De datumopmaak wordt opgegeven in de opdracht `SET DateFormat` in uw script voor het laden van gegevens. De standaard datumindeling is mogelijk anders op uw systeem vanwege landinstellingen en andere factoren. U kunt de indelingen in de voorbeelden wijzigen zodat deze aansluiten op uw behoeften. Of u kunt de indelingen in uw load-script wijzigen zodat ze overeenkomen met deze voorbeelden.

Standaard landinstellingen in apps zijn gebaseerd op de regionale systeeminstellingen van de computer of server waarop Qlik Sense is geïnstalleerd. Als de Qlik Sense-server die u gebruikt is ingesteld op Zweden, gebruikt de editor voor laden van gegevens de Zweedse landinstellingen voor datums, tijd en valuta. Deze landinstellingen voor indelingen zijn niet gerelateerd aan de taal die wordt weergegeven in de gebruikersinterface van Qlik Sense. Qlik Sense wordt weergegeven in dezelfde taal als de browser die u gebruikt.

Voorbeelden van functies

| Voorbeeld | Resultaat |
| --- | --- |
| dayend('01/25/2013 16:45:00') | Retourneert 01/25/2013 23:59:59. PM |
| dayend('01/25/2013 16:45:00', -1) | Retourneert 01/24/2013 23:59:59. PM |
| dayend('01/25/2013 16:45:00', 0, 0.5) | Retourneert 01/26/2013 11:59:59. PM |

## Voorbeeld 1 - Basisscript

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/dayend.htm)

#### Load-script en resultaten

Overzicht

Open de Editor voor laden van gegevens en voeg het onderstaande load-script toe aan een nieuw tabblad.

Het load-script bevat:

* Een gegevensverzameling met een lijst met datums wordt geladen in een tabel met de naam "Calendar".

* De standaard `DateFormat`-systeemvariabele `(MM/DD/YYYY)`.

* Een voorafgaande lading om een extra veld te maken met de naam `EOD_timestamp` met behulp van de `dayend()`-functie.

Load-script

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

Resultaten

Laad de gegevens en open een werkblad. Maak een nieuwe tabel en voeg deze velden toe als dimensies:

* `date`

* `EOD_timestamp`

Resultatentabel

| date | Tijdstempel einde dag |
| --- | --- |
| 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 |

Zoals u in de bovenstaande tabel kunt zien, wordt het tijdstempel einde dag gegenereerd voor iedere datum in uw gegevensset. Het tijdstempel is de indeling van de systeemvariabele `TimestampFormat M/D/YYYY h:mm:ss[.fff] TT`.

## Voorbeeld 2 – period\_no

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/dayend.htm)

#### Load-script en resultaten

Overzicht

Open de Editor voor laden van gegevens en voeg het onderstaande load-script toe aan een nieuw tabblad.

U laadt een gegevensset met serviceboekingen in een tabel genaamd Services.

De gegevensset bevat de volgende velden:

* `service_id`

* `service_date`

* `amount`

U maakt twee nieuwe velden in de tabel:

* `deposit_due_date`: De datum waarop de storting moet zijn ontvangen. Dit is het einde van de dag, drie dagen vóór de `service_date`.

* `final_payment_due_date`: De datum waarop de laatste betaling moet zijn ontvangen. Dit is het einde van de dag, zeven dagen na de `service_date`.

De twee velden hierboven zijn gemaakt in een voorafgaande lading met gebruik van de `dayend()`-functie. Ze geven de eerste twee parameters, `time` en `period_no`.

Load-script

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

Resultaten

Laad de gegevens en open een werkblad. Maak een nieuwe tabel en voeg deze velden toe als dimensies:

* `service_date`

* `deposit_due_date`

* `final_payment_due_date`

Resultatentabel

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

De waarden van de nieuwe velden hebben de `TimestampFormat M/D/YYYY h:mm:ss[.fff] TT`. Omdat de functie `dayend()` is gebruikt, zijn de tijdstempelwaarden allemaal de laatste milliseconde van de dag.

De vervaldatumwaarden voor de storting zijn drie dagen vóór de servicedatum, omdat het tweede argument dat in de `dayend()`-functie wordt doorgegeven negatief is.

De vervaldatumwaarden voor de laatste betaling zijn zeven dagen na de servicevervaldatum, omdat het tweede argument dat in de `dayend()`-functie wordt doorgegeven negatief is.

## Voorbeeld 3 – day\_start-script

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/dayend.htm)

#### Load-script en resultaten

Overzicht

Open de Editor voor laden van gegevens en voeg het onderstaande load-script toe aan een nieuw tabblad.

De gegevensset en het scenario die in dit voorbeeld worden gebruikt, zijn dezelfde als in het vorige voorbeeld.

Net als in het vorige voorbeeld, maakt u twee nieuwe velden:

* `deposit_due_date`: De datum waarop de storting moet zijn ontvangen. Dit is het einde van de dag, drie dagen vóór de `service_date`.

* `final_payment_due_date`: De datum waarop de laatste betaling moet zijn ontvangen. Dit is het einde van de dag, zeven dagen na de `service_date`.

Uw bedrijf wil echter volgens een beleid werken waarbij de werkdag om 5:00 PM begint en de volgende dag om 5:00 PM eindigt. Uw bedrijf kan dan de transacties bewaken die binnen die werkuren plaatsvinden.

Om deze vereisten te realiseren, worden de twee bovenstaande velden gemaakt in een voorafgaande load met de `dayend()`-functie en de drie parameters, `time`, `period_no` en `day_start`.

Load-script

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

Resultaten

Laad de gegevens en open een werkblad. Maak een nieuwe tabel en voeg deze velden toe als dimensies:

* `service_date`

* `deposit_due_date`

* `final_payment_due_date`

Resultatentabel

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

De datums blijven zoals in voorbeeld 2, maar de datums hebben nu een tijdstempel van de laatste milliseconde vóór 5:00 PM, omdat de waarde van het derde argument, `day_start`, dat in de `dayend()`-functie is doorgegeven, 17/24 was.

## Voorbeeld 4 – diagramvoorbeeld

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/dayend.htm)

#### Load-script en diagramuitdrukking

Overzicht

Open de Editor voor laden van gegevens en voeg het onderstaande load-script toe aan een nieuw tabblad.

De gegevensset en het scenario die in dit voorbeeld worden gebruikt, zijn dezelfde als in de vorige twee voorbeelden. Uw bedrijf wil graag volgens een beleid werken waarbij de werkdag om 5:00 PM begint en de volgende dag om 5:00 PM eindigt.

Net als in het vorige voorbeeld, maakt u twee nieuwe velden:

* deposit\_due\_date: De datum waarop de storting moet zijn ontvangen. Dit is het einde van de dag, drie dagen vóór de service\_date.

* final\_payment\_due\_date: De datum waarop de laatste betaling moet zijn ontvangen. Dit is het einde van de dag, zeven dagen na de service\_date.

Load-script

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

Resultaten

Laad de gegevens en open een werkblad. Maak een nieuwe tabel en voeg dit veld toe als dimensie:

service\_date.

Om het deposit\_due\_date-veld te maken, maakt u deze meting.

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

Vervolgens maakt u om het final\_payment\_due\_date-veld te maken, deze meting:

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

Resultatentabel

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

De waarden van de nieuwe velden hebben de TimestampFormat M/D/YYYY h:mm:ss[.fff] TT. Omdat de functie dayend() is gebruikt, zijn de tijdstempelwaarden allemaal de laatste milliseconde van de dag.

De vervaldatumwaarden voor de belating zijn drie dagen vóór de servicedatum, omdat het tweede argument dat in de dayend()-functie wordt doorgegeven negatief is.

De vervaldatumwaarden voor de laatste betaling zijn zeven dagen na de servicevervaldatum, omdat het tweede argument dat in de dayend()-functie wordt doorgegeven negatief is.

De datums hebben nu een tijdstempel van de laatste milliseconde vóór 5:00 PM omdat de waarde van het derde argument, day\_start, dat in de dayend()-functie is doorgegeven, 17/24 was.

## Meer informatie

* [Gegevens laden uit een eerder geladen tabel](https://help.qlik.com/nl-NL/sense/November2024/Subsystems/Hub/Content/Sense_Hub/Scripting/load-data-from-previously-loaded-table.htm)

Argumenten

| Argument | Beschrijving |
| --- | --- |
| time | De te evalueren tijdstempel. |
| period\_no | period\_no is een geheel getal, of een uitdrukking die wordt herleid tot een geheel getal, waarbij de waarde 0 de dag aangeeft die time bevat. Negatieve waarden in period\_no geven voorafgaande dagen aan en positieve waarden geven volgende dagen aan. |
| day\_start | Als u wilt opgeven dat dagen niet om middernacht beginnen, geeft u een verschuiving aan als een fractie van een dag in day\_start. Bijvoorbeeld 0.125 om 03.00 uur aan te geven. |