# indaytotime Skript- och diagramfunktion

Denna funktion returnerar True om timestamp ligger inom den del av dagen som innehåller base\_timestamp fram till och inklusive den exakta millisekunden för base\_timestamp.

Syntax:

InDayToTime (timestamp, base\_timestamp, period\_no[, day\_start])

Funktionen `indaytotime()` returnerar ett booleskt resultat beroende på när ett tidsmarkörsvärde inträffar under den dagens segment. Startgränsen för detta segment är starten på dagen, som är angiven till midnatt som standard. Dagens början kan ändras av argument `day_start` i funktionen `indaytotime()`. Slutgränsen för dagssegmentet avgörs av funktionens `base_timestamp`-argument.

Diagram för `indaytotime`-funktionen.

Diagram för `indaytotime`-funktionen.

Diagram för `indaytotime`indaytotime-funktionen. ![Diagram visar relationen mellan variablerna i funktionen indaytotime .](https://help.qlik.com/sv-SE/cloud-services/Subsystems/Hub/Content/Resources/Images/scripting-functions-indaytotime-diagram-overview.png)

När ska du använda indaytotime

Funktionen `indaytotime()` returnerar ett booleskt resultat. Vanligtvis kommer denna typ av funktion att användas som ett villkor i en `if expression`. Funktionen `indaytotime()` returnerar en aggregering eller beräkning beroende på om en tidsmarkör inträffade i segmentet under denna dag fram till och med tiden för bastidsmarkören.

Till exempel kan funktionen `indaytotime()` används för att visa summan av biljettförsäljningen för föreställningar som har ägt rum hittills idag.

Returnerad datatyp: Booleansk

I Qlik Sense, representeras det booleska sanna värdet av -1, och det falska värdet representeras av 0.

Argument

| Argument | Beskrivning |
| --- | --- |
| ` timestamp  ` | Det datum och den tid du vill jämföra mot `base_timestamp`. |
| ` base_timestamp  ` | Datum och tid som används för att utvärdera tidsmarkören. |
| ` period_no  ` | Dagens startpunkt kan flyttas med `period_no`. `period_no` är ett heltal där värdet 0 anger den dag som innehåller `base_timestamp`. Negativa värden i `period_no` anger föregående dagar och positiva värden anger efterföljande dagar. |
| ` day_start  ` | (valfritt) Om du vill använda dagar som inte startar vid midnatt, kan du ange en förskjutning som en del av en dag i `day_start`. Du kan till exempel använda 0,125 för att hänvisa till 03.00. |

## 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. Mer information finns i [Ändra regioninställningar för applikationer och skript](https://help.qlik.com/sv-SE/cloud-services/Subsystems/Hub/Content/Sense_Hub/Apps/regional-settings-in-apps.htm).

Standardinställningar för region i applikationer baseras på användarprofilen. Dessa regionala formatinställningar är inte relaterade till språket som visas i Qlik Cloud användargränssnittet. Qlik Cloud kommer att visas på samma språk som webbläsaren du använder.

Om du är en applikationsskapare kan du ange standardregionen för applikationer du skapar. Mer information finns i [Ställa in önskade regioninställningar för att skapa appar och skript i Qlik Cloud-analys](https://help.qlik.com/sv-SE/cloud-services/Subsystems/Hub/Content/Sense_Hub/UserInterface/Languages.htm#Setting).

Exempel på funktioner

| Exempel | Resultat |
| --- | --- |
| `indaytotime` ('01/12/2006 12:23:00 PM', '01/12/2006 11:59:00 PM', 0) | Returnerar True |
| `indaytotime` ('01/12/2006 12:23:00 PM', '01/12/2006 12:00:00 AM', 0) | Returnerar False |
| `indaytotime` '01/11/2006 12:23:00 PM', '01/12/2006 11:59:00 PM', -1) | Returnerar True |

## Exempel 1 – inga ytterligare argument

[](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/indaytotime.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 uppsättning transaktioner för perioden 4 till 5 januari. läses in i en tabell som heter "Transaktioner".

* Ett datumfält som anges i `TimeStamp`-systemvariabeln i formatet `(M/D/YYYY h:mm:ss[.fff] TT)`.

* En föregående load som innehåller funktionen `indaytotime()` som är inställd som fältet `'in_day_to_time'` , vilket bestämmer om var och en av transaktionerna äger rum före 09:00.

Laddningsskript

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

Transactions:
    Load
        *,
        indaytotime(date,'01/05/2022 9:00:00 AM',0) as in_day_to_time
        ;
Load
*
Inline 
[
id,date,amount
8188,'01/04/2022 3:41:54 AM',25.66
8189,'01/04/2022 4:19:43 AM',87.21
8190,'01/04/2022 4:53:47 AM',53.80
8191,'01/04/2022 8:38:53 AM',69.98
8192,'01/04/2022 10:37:52 AM',57.42
8193,'01/04/2022 1:54:10 PM',45.89
8194,'01/04/2022 5:53:23 PM',82.77
8195,'01/04/2022 8:13:26 PM',36.23
8196,'01/04/2022 10:00:49 PM',76.11
8197,'01/05/2022 7:45:37 AM',82.06
8198,'01/05/2022 8:44:36 AM',17.17
8199,'01/05/2022 11:26:08 AM',40.39
8200,'01/05/2022 6:43:08 PM',37.23
8201,'01/05/2022 10:54:10 PM',88.27
8202,'01/05/2022 11:09:09 PM',95.93
];
```

Resultat

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

* `date`

* `in_day_to_time`

Resultattabell

| datum | in\_day\_to\_time |
| --- | --- |
| 01/04/2022 3:41:54 AM | 0 |
| 01/04/2022 4:19:43 AM | 0 |
| 01/04/2022 04:53:47 AM | 0 |
| 01/04/2022 8:38:53 AM | 0 |
| 01/04/2022 10:37:52 AM | 0 |
| 01/04/2022 1:54:10 PM | 0 |
| 01/04/2022 5:53:23 PM | 0 |
| 01/04/2022 8:13:26 PM | 0 |
| 01/04/2022 10:00:49 PM | 0 |
| 01/05/2022 7:45:37 AM | -1 |
| 01/05/2022 8:44:36 AM | -1 |
| 01/05/2022 11:26:08 AM | 0 |
| 01/05/2022 6:43:08 PM | 0 |
| 01/05/2022 10:54:10 PM | 0 |
| 01/05/2022 11:09:09 PM | 0 |

Exempel 1-diagram för funktionen `indaytotime` med gränsen 09.00.

Exempel 1-diagram för funktionen `indaytotime` med gränsen 09.00.

Exempel 1-diagram för funktionen `indaytotime`indaytotime med gränsen 09.00. ![Diagrammet visar funktionen indaytotime() med gränsen 09.00.](https://help.qlik.com/sv-SE/cloud-services/Subsystems/Hub/Content/Resources/Images/scripting-functions-indaytotime-example1-diagram.png)

`  in_day_to_time field ` skapades i den föregående load-satsen genom att använda funktionen `indaytotime()` och skicka datumfältet, en hårdkodad tidsmarkör för kl. 9.00 den 5 januari och förskjutning på 0, som funktionens argument. Alla transaktioner som sker mellan midnatt och 09.00 den 5 januari returnerar TRUE.

## Exampel 2 – period\_no

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

#### Laddningsskript och resultat

Översikt

Laddningsskriptet använder samma datauppsättning och scenario som det som användes i det första exemplet.

I det här exemplet kommer du dock att beräkna om transaktionsdatumet skedde en dag innan kl. 09.00 den 5 januari.

Laddningsskript

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

Transactions:
    Load
        *,
        indaytotime(date,'01/05/2022 9:00:00 AM', -1) as in_day_to_time
        ;
Load
*
Inline 
[
id,date,amount
8188,'01/04/2022 3:41:54 AM',25.66
8189,'01/04/2022 4:19:43 AM',87.21
8190,'01/04/2022 4:53:47 AM',53.80
8191,'01/04/2022 8:38:53 AM',69.98
8192,'01/04/2022 10:37:52 AM',57.42
8193,'01/04/2022 1:54:10 PM',45.89
8194,'01/04/2022 5:53:23 PM',82.77
8195,'01/04/2022 8:13:26 PM',36.23
8196,'01/04/2022 10:00:49 PM',76.11
8197,'01/05/2022 7:45:37 AM',82.06
8198,'01/05/2022 8:44:36 AM',17.17
8199,'01/05/2022 11:26:08 AM',40.39
8200,'01/05/2022 6:43:08 PM',37.23
8201,'01/05/2022 10:54:10 PM',88.27
8202,'01/05/2022 11:09:09 PM',95.93
];
```

Resultat

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

* `date`

* `in_day_to_time`

Resultattabell

| datum | in\_day\_to\_time |
| --- | --- |
| 01/04/2022 3:41:54 AM | -1 |
| 01/04/2022 4:19:43 AM | -1 |
| 01/04/2022 04:53:47 AM | -1 |
| 01/04/2022 8:38:53 AM | -1 |
| 01/04/2022 10:37:52 AM | 0 |
| 01/04/2022 1:54:10 PM | 0 |
| 01/04/2022 5:53:23 PM | 0 |
| 01/04/2022 8:13:26 PM | 0 |
| 01/04/2022 10:00:49 PM | 0 |
| 01/05/2022 7:45:37 AM | 0 |
| 01/05/2022 8:44:36 AM | 0 |
| 01/05/2022 11:26:08 AM | 0 |
| 01/05/2022 6:43:08 PM | 0 |
| 01/05/2022 10:54:10 PM | 0 |
| 01/05/2022 11:09:09 PM | 0 |

Exempel 2-diagram på funktionen `indaytotime` med transaktioner från den 4 januari.

Exempel 2-diagram på funktionen `indaytotime` med transaktioner från den 4 januari.

Exempel 2-diagram på funktionen `indaytotime`indaytotime med transaktioner från den 4 januari. ![Diagram som visar funktionen indaytotime ()  som använder ett period_no på -1 för att returnera transaktioner från den 4 januari.](https://help.qlik.com/sv-SE/cloud-services/Subsystems/Hub/Content/Resources/Images/scripting-functions-indaytotime-example2-diagram.png)

Eftersom en förskjutning på 1 användes som förskjutningsargument i funktionen `indaytotime()` avgör funktionen i det här exemplet om en transaktion skedde innan kl. 09.00 den 4 januari. Det kan verifieras i utdatatabellen där en transaktion returnerar ett booleskt resultat på TRUE.

## Exampel 3 – day\_start

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

#### Laddningsskript och resultat

Översikt

Samma datauppsättning och scenario som det första exemplet används.

I det här exemplet är företagspolicyn dock sådan att arbetsdagen börjar och slutar kl. 08.00 på morgonen.

Laddningsskript

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

Transactions:
    Load
        *,
        indaytotime(date,'01/05/2022 9:00:00 AM', 0,8/24) as in_day_to_time
        ;
Load
*
Inline 
[
id,date,amount
8188,'01/04/2022 3:41:54 AM',25.66
8189,'01/04/2022 4:19:43 AM',87.21
8190,'01/04/2022 4:53:47 AM',53.80
8191,'01/04/2022 8:38:53 AM',69.98
8192,'01/04/2022 10:37:52 AM',57.42
8193,'01/04/2022 1:54:10 PM',45.89
8194,'01/04/2022 5:53:23 PM',82.77
8195,'01/04/2022 8:13:26 PM',36.23
8196,'01/04/2022 10:00:49 PM',76.11
8197,'01/05/2022 7:45:37 AM',82.06
8198,'01/05/2022 8:44:36 AM',17.17
8199,'01/05/2022 11:26:08 AM',40.39
8200,'01/05/2022 6:43:08 PM',37.23
8201,'01/05/2022 10:54:10 PM',88.27
8202,'01/05/2022 11:09:09 PM',95.93
];
```

Resultat

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

* `date`

* `in_day_to_time`

Resultattabell

| datum | in\_day\_to\_time |
| --- | --- |
| 01/04/2022 3:41:54 AM | 0 |
| 01/04/2022 4:19:43 AM | 0 |
| 01/04/2022 04:53:47 AM | 0 |
| 01/04/2022 8:38:53 AM | 0 |
| 01/04/2022 10:37:52 AM | 0 |
| 01/04/2022 1:54:10 PM | 0 |
| 01/04/2022 5:53:23 PM | 0 |
| 01/04/2022 8:13:26 PM | 0 |
| 01/04/2022 10:00:49 PM | 0 |
| 01/05/2022 7:45:37 AM | 0 |
| 01/05/2022 8:44:36 AM | -1 |
| 01/05/2022 11:26:08 AM | 0 |
| 01/05/2022 6:43:08 PM | 0 |
| 01/05/2022 10:54:10 PM | 0 |
| 01/05/2022 11:09:09 PM | 0 |

Exempel 3-diagram på funktionen `indaytotime` med transaktioner mellan kl. 08.00 och 09.00.

Exempel 3-diagram på funktionen `indaytotime` med transaktioner mellan kl. 08.00 och 09.00.

Exempel 3-diagram på funktionen `indaytotime`indaytotime med transaktioner mellan kl. 08.00 och 09.00. ![Diagram som visar funktionen indaytotime() med transaktioner mellan kl. 08.00 och 09.00.](https://help.qlik.com/sv-SE/cloud-services/Subsystems/Hub/Content/Resources/Images/scripting-functions-indaytotime-example3-diagram.png)

Eftersom argumentet `start_day` på 8/24, som är lika med 08.00, används i funktionen `indaytotime()`, börjar och slutar varje dag kl. 08.00. Därför kommer funktionen `indaytotime()` att returnera ett booleskt resultat på TRUE för alla transaktioner som har ägt rum mellan 08.00 och 09.00 den 5 januari.

## Exampel 4 – Diagramobjekt

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

#### uttryck

Översikt

Samma datauppsättning och scenario som det första exemplet används.

I det här exemplet är dock datauppsättningen oförändrad och har lästs in i programmet. Du gör beräkningen för att bestämma om en transaktion sker den 5 januari innan kl. 09.00 genom att skapa ett mått i ett diagramobjekt.

Laddningsskript

```

Transactions:
Load
*
Inline 
[
id,date,amount
8188,'01/04/2022 3:41:54 AM',25.66
8189,'01/04/2022 4:19:43 AM',87.21
8190,'01/04/2022 4:53:47 AM',53.80
8191,'01/04/2022 8:38:53 AM',69.98
8192,'01/04/2022 10:37:52 AM',57.42
8193,'01/04/2022 1:54:10 PM',45.89
8194,'01/04/2022 5:53:23 PM',82.77
8195,'01/04/2022 8:13:26 PM',36.23
8196,'01/04/2022 10:00:49 PM',76.11
8197,'01/05/2022 7:45:37 AM',82.06
8198,'01/05/2022 8:44:36 AM',17.17
8199,'01/05/2022 11:26:08 AM',40.39
8200,'01/05/2022 6:43:08 PM',37.23
8201,'01/05/2022 10:54:10 PM',88.27
8202,'01/05/2022 11:09:09 PM',95.93
];
```

Resultat

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

`date`.

För att bestämma om en transaktion sker den 5 januari innan kl. 09.00 skapar du följande mått:

`=indaytotime(date,'01/05/2022 9:00:00 AM',0)`

Resultattabell

| datum | =inday(date,'01/05/2022 09:00:00',0) |
| --- | --- |
| 01/04/2022 3:41:54 AM | 0 |
| 01/04/2022 4:19:43 AM | 0 |
| 01/04/2022 04:53:47 AM | 0 |
| 01/04/2022 8:38:53 AM | 0 |
| 01/04/2022 10:37:52 AM | 0 |
| 01/04/2022 1:54:10 PM | 0 |
| 01/04/2022 5:53:23 PM | 0 |
| 01/04/2022 8:13:26 PM | 0 |
| 01/04/2022 10:00:49 PM | 0 |
| 01/05/2022 7:45:37 AM | -1 |
| 01/05/2022 8:44:36 AM | -1 |
| 01/05/2022 11:26:08 AM | 0 |
| 01/05/2022 6:43:08 PM | 0 |
| 01/05/2022 10:54:10 PM | 0 |
| 01/05/2022 11:09:09 PM | 0 |

Måttet `in_day_to_time` skapades i den diagramobjektet genom att använda funktionen `indaytotime()` och skicka datumfältet, en hårdkodad tidsmarkör för kl. 09.00 den 5 januari och en förskjutning på `0`, som funktionens argument. Alla transaktioner som sker mellan midnatt och 09.00 den 5 januari returnerar TRUE. Det här valideras i resultattabellen.

## Exempel 5 – Scenario

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

#### Laddningsskript och resultat

Översikt

I det här exemplet läser man in en datauppsättning som innehåller biljettförsäljning för en lokal biograf i en tabell som heter Ticket\_Sales. Dagens datum är den 3 maj, 2022 och klockan är 11.00.

Användaren vill ha ett KPI-diagramobjekt för att visa intäkterna från alla shower som har ägt rum hittills idag.

Laddningsskript

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

Ticket_Sales:
Load
*
Inline 
[
sale ID, show time, ticket price
1,05/01/2022 09:30:00 AM,10.50
2,05/03/2022 05:30:00 PM,21.00
3,05/03/2022 09:30:00 AM,10.50
4,05/03/2022 09:30:00 AM,31.50
5,05/03/2022 09:30:00 AM,10.50
6,05/03/2022 12:00:00 PM,42.00
7,05/03/2022 12:00:00 PM,10.50
8,05/03/2022 05:30:00 PM,42.00
9,05/03/2022 08:00:00 PM,31.50
10,05/04/2022 10:30:00 AM,31.50
11,05/04/2022 12:00:00 PM,10.50
12,05/04/2022 05:30:00 PM,10.50
13,05/05/2022 05:30:00 PM,21.00
14,05/06/2022 12:00:00 PM,21.00
15,05/07/2022 09:30:00 AM,42.00
16,05/07/2022 10:30:00 AM,42.00
17,05/07/2022 10:30:00 AM,10.50
18,05/07/2022 05:30:00 PM,10.50
19,05/08/2022 05:30:00 PM,21.00
20,05/11/2022 09:30:00 AM,10.50
];
```

Resultat

Gör följande:

1. Skapa ett KPI-objekt.

2. Skapa ett mått som visar summan av all biljettförsäljning för föreställningar som har ägt rum idag hittills med funktionen indaytotime():

=sum(if(indaytotime([show time],'05/03/2022 11:00:00 AM',0),[ticket price],0))

1. Skapa en etikett för KPI-objektet, "Aktuella intäkter".

2. Ange måttens Nummerformatering till Pengar.

Summan av biljettförsäljningen fram till kl. 11:00 den 3 maj 2022 är 52,50 USD.

Funktionen indaytotime () returnerar ett booleskt värde när man jämför visningstiderna för varje biljettförsäljning med den aktuella tiden ('05/03/2022 11:00:00 AM'). För alla föreställningar den 3 maj före kl. 11:00 returnerar funktionen indaytotime () ett booleskt värde på TRUE. och dess biljettpris kommer att inkluderas i summan.