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.
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.
Användning
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: Boolesk
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/ÅÅÅÅ. 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 appar baseras på de regionala systeminställningarna för datorn eller servern där Qlik Sense är installerad. Om Qlik Sense-servern du ansluter till är inställd på Sverige så kommer skriptredigeraren använda regionala inställningar för Sverige 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.
Ö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.
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
date
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
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
Ö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.
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
date
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
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
Ö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.
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
date
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
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
Ö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.
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
date
=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
Ö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.
Skapa en etikett för KPI-objektet, "Aktuella intäkter".
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.
Var den här sidan till hjälp för dig?
Om du hittar några fel på denna sida eller i innehållet – ett stavfel, ett steg som saknas eller ett tekniskt fel – berätta för oss så att vi kan blir bättre!