# dayend Skript- och diagramfunktion

Denna funktion returnerar ett värde som motsvarar en tidsmarkör för den sista millisekunden av den dag som ingår i time. Det förvalda utdataformatet blir det TimestampFormat som har definierats i skriptet.

Syntax:

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

Användning

`  dayend() `-funktionen används vanligtvis som en del av ett uttryck när användaren vill att beräkningen ska använda den del av dagen som ännu inte har inträffat. Till exempel för att beräkna de totala utgifter som fortfarande återstår under dagen.

Returnerad datatyp: dual

Argument

| Argument | Beskrivning |
| --- | --- |
| time | Tidsmarkören som ska evalueras. |
| period\_no | period\_no är ett heltal, eller ett uttryck som resulterar i ett heltal, där värdet 0 anger den dag som innehåller time. Negativa värden i period\_no anger föregående dagar och positiva värden anger efterföljande dagar. |
| day\_start | Om du vill ange att dagar inte startar vid midnatt anger du en startpunkt som delar av en dag i day\_start. Till exempel betecknar 0,125 03.00.<br><br>Med andra ord, för att skapa förskjutningen ska du dividera starttiden med 24 timmar. Till exempel, för en dag som börjar klockan 07:00, använd bråket 7/24. |

## Lokala inställningar

Om inget annat anges använder exemplen i detta ämne följande datumformat: MM/DD/YYYY. Datumformatet anges i `SET DateFormat`-satsen i datainläsningsskriptet. Förvald datumformatering kan vara annorlunda i ditt system, på grund av dina regionala inställningar och andra faktorer. Du kan ändra formaten i exemplen nedan så att det passar dina krav. Eller så kan du ändra formaten i ditt laddningsskript så att de matchar dessa exempel.

Standardregionalinställningar i program baseras på de regionala systeminställningarna för datorn eller servern där Qlik Sense är installerad. Om Qlik Senseservern du ansluter till är inställd på Sverige så kommer Dataladdningsredigeraren att använda svenska regionala inställningar för datum, tid och valuta. Dessa regionala formatinställningar är inte relaterade till språket som visas i Qlik Sense användargränssnittet. Qlik Sense kommer att visas på samma språk som webbläsaren du använder.

Exempel på funktioner

| Exempel | Resultat |
| --- | --- |
| dayend('01/25/2013 16:45:00') | Returnerar 01/25/2013 23:59:59. e.m. |
| dayend('01/25/2013 16:45:00', -1) | Returns 01/24/2013 23:59:59. e.m. |
| dayend('01/25/2013 16:45:00', 0, 0.5) | Returnerar 01/26/2013 11:59:59. e.m. |

## Exempel 1 – basskript

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

#### Laddningsskript och resultat

Översikt

Öppna Skriptredigeraren och lägg till laddningsskriptet nedan till en ny flik.

Laddningsskriptet innehåller:

* En datauppsättning med en lista med datum läses in i en tabell med namnet "Kalender".

* `DateFormat`-standardsystemvariabel `(MM/DD/YYYY)`.

* En föregående laddning för att skapa ytterligare ett fält benämnt "`EOD_timestamp`" med hjälp av `dayend()`-funktionen.

Laddningsskript

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

Resultat

Ladda data och öppna ett ark. Skapa en ny tabell och lägg till dessa fält som dimensioner:

* `date`

* `EOD_timestamp`

Resultattabell

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

Som du kan se i tabellen ovan genereras tidsmarkören för dagens slut för varje datum i vår datauppsättning. Tidsmarkören har formatet för systemvariabeln `TimestampFormat M/D/YYYY h:mm:ss[.fff] TT`.

## Exampel 2 – period\_no

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

#### Laddningsskript och resultat

Översikt

Öppna Skriptredigeraren och lägg till laddningsskriptet nedan till en ny flik.

Du laddar en datauppsättning med tjänstebokningar till en tabell med namnet "Services".

Datauppsättningen innehåller följande fält:

* ` service_id
                                       `

* ` service_date
                                       `

* `amount`

Du skapar två nya fält i tabellen:

* `deposit_due_date`: Datumet när depositionen ska vara inne. Det här är slutet på dagen tre dagar innan `service_date`.

* `final_payment_due_date`: Datumet när slutbetalningen ska vara inne. Det här är slutet på dagen sju dagar efter `service_date`.

De två fälten ovan skapas i en tidigare laddning med hjälp av funktionen `dayend()` och de ger de två första parametrarna, `time` och `period_no`.

Laddningsskript

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

Resultat

Ladda data och öppna ett ark. Skapa en ny tabell och lägg till dessa fält som dimensioner:

* `service_date`

* `deposit_due_date`

* `final_payment_due_date`

Resultattabell

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

Värdena på de nya fältena finns i `TimestampFormat M/D/YYYY h:mm:ss[.fff] TT`. Eftersom funktionen `dayend()` användes är tidsmarkören den sista millisekunden av dagen.

Värdena för depositionens förfallodag är tre dagar innan tjänstedatumet, eftersom det andra argumentet som skickades i funktionen `dayend()` är negativt.

Värdena för den slutliga betalningens förfallodag är sju dagar efter tjänstedatumet, eftersom det andra argumentet som skickades i funktionen `dayend()` är positivt.

## Exampel 3 – day\_start script

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

#### Laddningsskript och resultat

Översikt

Öppna Skriptredigeraren och lägg till laddningsskriptet nedan i en ny flik.

Datauppsättningen och scenariot som används i det här examplet är samma som i föregående exempel.

Precis som i föregående exempel skapar du två nya fält:

* `deposit_due_date`: Datumet när depositionen ska vara inne. Det här är slutet på dagen tre dagar innan `service_date`.

* `final_payment_due_date`: Datumet när slutbetalningen ska vara inne. Det här är slutet på dagen sju dagar efter `service_date`.

Men ditt företag vill ha en policy där arbetsdagen börjar kl. 17.00 och slutar kl. 17.00 nästa dag. Ditt företag kan då övervaka transaktioner som sker under dessa arbetstider.

För att uppnå dessa krav skapas de två fälten ovan i en tidigare inläsning med hjälp av funktionen `dayend()` och genom att använda alla de tre argumenten `time`, `period_no` och `day_start`.

Laddningsskript

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

Resultat

Ladda data och öppna ett ark. Skapa en ny tabell och lägg till dessa fält som dimensioner:

* `service_date`

* `deposit_due_date`

* `final_payment_due_date`

Resultattabell

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

Trots att datumen är desamma som i exempel 2, har de nu tidsmarkören för den sista millisekunden innan kl. 17.00 eftersom värdet på det tredje argumentet, `day_start`, som skickades till funktionen `dayend()` är 17/24.

## Exampel 4 – diagramexampel

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

#### Laddningsskript och diagramuttryck

Översikt

Öppna Skriptredigeraren och lägg till laddningsskriptet nedan till en ny flik.

Datauppsättningen och scenariot som används i det här examplet är samma som i de två föregående exemplen. Företaget vill ha en policy där arbetsdagen börjar kl. 17.00 och slutar kl. 17.00 nästa dag.

Precis som i föregående exempel skapar du två nya fält:

* deposit\_due\_date: Datumet när depositionen ska vara inne. Det här är slutet på dagen tre dagar innan service\_date.

* final\_payment\_due\_date: Datumet när slutbetalningen ska vara inne. Det här är slutet på dagen sju dagar efter service\_date.

Laddningsskript

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

Resultat

Ladda data och öppna ett ark. Skapa en ny tabell och lägg till det här fältet som en dimension:

service\_date.

För att skapa fältet deposit\_due\_date skapar du det här måttet:

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

För att sedan skapa fältet final\_payment\_due\_date skapar du det här måttet:

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

Resultattabell

| 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/9/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 |
| 2022-03-18 | 3/15/2022 16:59:59 PM | 3/25/2022 16:59:59 PM |
| 2022-03-19 | 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 | 2022-03-28 16:59:59 |

Värdena på de nya fältena finns i TimestampFormat M/D/YYYY h:mm:ss[.fff] TT. Eftersom funktionen dayend() användes är tidsmarkören den sista millisekunden av dagen.

Värdena för betalningens förfallodag är tre dagar innan tjänstedatumet, eftersom det andra argumentet som skickades i funktionen dayend() är negativt.

Värdena för den slutliga betalningens förfallodag är sju dagar efter tjänstedatumet, eftersom det andra argumentet som skickades i funktionen dayend() är positivt.

Datumen har tidsmarkören för den sista millisekunden innan kl. 17.00 eftersom värdet på det tredje argumentet, day\_start, som skickades till funktionen dayend() är 17/24.

## Mer information

* [Läsa in data från en tidigare inläst tabell](https://help.qlik.com/sv-SE/sense/May2026/Subsystems/Hub/Content/Sense_Hub/Scripting/load-data-from-previously-loaded-table.htm)

Argument

| Argument | Beskrivning |
| --- | --- |
| time | Tidsmarkören som ska evalueras. |
| period\_no | period\_no är ett heltal, eller ett uttryck som resulterar i ett heltal, där värdet 0 anger den dag som innehåller time. Negativa värden i period\_no anger föregående dagar och positiva värden anger efterföljande dagar. |
| day\_start | Om du vill ange att dagar inte startar vid midnatt anger du en startpunkt som delar av en dag i day\_start. Till exempel betecknar 0,125 03.00. |