Funktionen inday() använder argumentet base_timestamp för att identifiera vilken dag tidsmarkören faller inom. Starttiden på dagen är som standard midnatt, men du kan ändra starttiden på dagen genom att använda argument day_start i funktionen inday(). När denna dag har definierats returnerar funktionen booleska resultat när de föreskrivna tidsmarkörsvärdena jämförs med den dagen.
Användning
Funktionen inday() returnerar ett booleskt resultat. Vanligtvis kommer denna typ av funktion att användas som ett villkor i en if expression. Detta returnerar en aggregering eller beräkning beroende på om ett utvärderat datum inträffade på dagen för den aktuella tidsmarkören.
Till exempel kan funktionen inday() användas för att identifiera all utrustning som tillverkas under en specifik dag.
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
Om du vill använda dagar som inte startar vid midnatt kan du ange en startpunkt i delar av en dag med day_start, till exempel 0,125 för att beteckna 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.
Ladda data och öppna ett ark. Skapa en ny tabell och lägg till dessa fält som dimensioner:
date
in_day
Resultattabell
date
inday
01/01/2022 19:34:46
0
2022-01-01 22:10:22
0
2022-01-02 08:35:54
0
01/03/2022 14:21:53
0
2022-01-04 18:49:38
0
2022-01-04 22:58:34
0
2022-01-05 05:40:49
-1
2022-01-05 11:29:38
-1
2022-01-05 19:04:57
-1
01/06/2022 08:49:09
0
Fältet skapades i den föregående load-satsen genom att använda funktionen och skicka datafälten, en hårdkodad tidsmarkör för den 5 januari och på 0, som funktionens argument.in_dayinday()period_no0
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 är uppgiften dock att beräkna om transaktionsdatumet var två dagar innan 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
Resultattabell
date
inday
01/01/2022 19:34:46
0
2022-01-01 22:10:22
0
2022-01-02 08:35:54
0
2022-01-03 14:21:53
-1
2022-01-04 18:49:38
0
2022-01-04 22:58:34
0
2022-01-05 05:40:49
0
2022-01-05 11:29:38
0
2022-01-05 19:04:57
0
2022-01-06 08:49:09 AM
0
Eftersom period_no i -2 användes som förskjutningsargument i funktionen inday(), avgör funktionen i den här instansen om en transaktion utfördes den 3 januari. Detta kan verifieras i utdatatabellen där en transaktion returnerar ett booleskt resultat på TRUE.
Exampel 3 – day_start
Översikt
Laddningsskriptet använder samma datauppsättning och scenario som de som användes i de föregående exemplen.
I det här exemplet är företagspolicyn dock att arbetsdagen börjar och slutar kl. 7 på morgonen.
Ladda data och öppna ett ark. Skapa en ny tabell och lägg till dessa fält som dimensioner:
date
in_day
Resultattabell
date
inday
01/01/2022 19:34:46
0
2022-01-01 22:10:22
0
2022-01-02 08:35:54
0
01/03/2022 14:21:53
0
2022-01-04 18:49:38
-1
2022-01-04 22:58:34
-1
2022-01-05 05:40:49
-1
2022-01-05 11:29:38
0
2022-01-05 19:04:57
0
2022-01-06 08:49:09 AM
0
Eftersom argumentet start_day 7/24, dvs. 07.00, används i funktionen inday() avgör funktionen i den här instansen om en transaktion skedde mellan den 4 januari kl. 7 på morgonen och den 5 januari kl. 7 på morgonen.
Detta kan verifieras i utdatatabellen där transaktioner som sker efter kl. 7 på morgonen den 4 januari returnerar ett booleskt resultat, TRUE, medan transaktioner som sker efter kl. 7 på morgonen den 5 januari returnerar ett booleskt resultat FALSE.
Exampel 4 – Diagramobjekt
Översikt
Laddningsskriptet använder samma datauppsättning och scenario som de som användes i de föregående exemplen.
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 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 räkna ut om en transaktion sker den 5 januari skapar du följande mått:
=inday(date,'01/05/2022 12:00:00 AM',0)
Resultattabell
date
inday(date,'01/05/2022 12:00:00',0)
2022-01-01 19:34:46
0
2022-01-01 22:10:22
0
2022-01-02 08:35:54
0
01/03/2022 14:21:53
0
2022-01-04 18:49:38
0
2022-01-04 22:58:34
0
2022-01-05 05:40:49
-1
2022-01-05 11:29:38
-1
2022-01-05 19:04:57
-1
01/06/2022 08:49:09
0
Exempel 5 – Scenario
Översikt
I det här exemplet har man identifierat att utrustningsfel var orsaken till att produkter som tillverkades den 5 januari var defekta. Slutanvändaren vill ha ett diagramobjekt som visar, efter datum, status för vilka produkter som tillverkades som var "defekta" eller "felfria", samt kostnaden för de produkter som tillverkades den 5 januari.
Öppn skriptredigeraren och lägg till laddningsskriptet nedan till en ny flik.
Laddningsskriptet innehåller:
En datauppsättning som läses in i en tabell som heter "Produkter".
Funktionen inday() returnerar ett booleskt värde vid utvärdering av tillverkningsdatumen för var och en av produkterna. För alla produkter som tillverkats den 5 januari returnerar funktionen inday() ett booleskt värde på TRUE och markerar produkterna som "Defekta". För alla produkter som returnerar ett värde på FALSE, och därför inte tillverkas den dagen, markerar den produkterna som "Felfria".
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!