Denna funktion returnerar True om timestamp ligger inom den del av det kvartal som innehåller base_date fram till och inklusive den sista millisekunden av base_date.
I Qlik Sense, representeras det booleska sanna värdet av -1, och det falska värdet representeras av 0.
Funktionen inquartertodate() delar upp året i fyra lika stora kvartal mellan 1 januari och 31 december (eller den användardefinierade början på året och dess motsvarande slutdatum). Med hjälp av base_datekommer funktionen sedan att segmentera ett visst kvartal, med base_date som identifierar både kvartal och det högsta tillåtna datumet för det kvartalssegmentet. Slutligen returnerar funktionen ett booleskt resultat när du jämför de föreskrivna datumvärdena med det segmentet.
Argument
Argument
Beskrivning
timestamp
Det datum du vill jämföra mot base_date.
base_date
Datum som används för att utvärdera kvartalet.
period_no
Kvartalets startpunkt kan flyttas med period_no. period_no är ett heltal där värdet 0 anger det kvartal som innehåller base_date. Negativa värden i period_no anger föregående kvartal och positiva värden anger efterföljande kvartal.
first_month_of_year
Om du vill arbeta med (budget)år som inte börjar i januari kan du ange ett värde mellan 2 och 12 i first_month_of_year.
Användning
Funktionen inquartertodate() returnerar ett booleskt resultat. Vanligtvis kommer denna typ av funktion att användas som ett villkor i ett if-uttryck. inquartertodate()-funktionen returnerar en aggregering eller beräkning beroende på om ett utvärderat datum inträffade i kvartalet till och med datumet i fråga.
Till exempel kan inquartertodate()-funktionen användas för att identifiera all utrustning som tillverkats under ett kvartal fram till ett specifikt datum.
Exempel på funktioner
Exempel
Resultat
inquartertodate('01/25/2013', '03/25/2013', 0)
Returnerar TRUE, eftersom värdet för timestamp, 01/25/2013, ligger inom tremånadersperioden från 01/01/2013 till 03/25/2013, där värdet för base_date 03/25/2013.
inquartertodate('04/26/2013', '03/25/2013', 0)
Returnerar FALSE eftersom 04/26/2013 är utanför samma period som i förra exemplet.
inquartertodate('02/25/2013', '06/09/2013', -1)
ReturnerarTRUE eftersom värdet för period_no, som är -1, flyttar sökperioden en tremånadersperiod bakåt (ett kvartal av året. Detta innebär att sökperioden är 01/01/2013 till 03/09/2013.
inquartertodate('03/25/2006', '04/15/2006', 0, 2)
Returnerar TRUE eftersom värdet för first_month_of_year är inställt på 2, vilket gör sökperioden till 2006-02-01 till 2006-04-15 istället för 2006- 04-01 till 2006-04-15.
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.
Exempel 1 – inga ytterligare argument
Översikt
Öppn skriptredigeraren och lägg till laddningsskriptet nedan till en ny flik.
Laddningsskriptet innehåller:
En datauppsättning som innehåller transaktioner efter tidsmarkör som läses in i en tabell som heter Transactions.
Datumfältet tillhandahålls i formatet (ÅÅÅÅ-MM-DD) i systemvariabeln DateFormat.
Skapandet av ett fält, in_quarter_to_date, som bestämmer vilka transaktioner som ägde rum under kvartalet fram till den 15 maj 2022.
Ladda data och öppna ett ark. Skapa en ny tabell och lägg till dessa fält som dimensioner:
date
in_quarter_to_date
Resultattabell
date
inquartertodate
1/7/2022
0
1/19/2022
0
2/5/2022
0
2/28/2022
0
3/16/2022
0
4/1/2022
-1
5/7/2022
-1
5/16/2022
0
6/15/2022
0
6/26/2022
0
7/9/2022
0
7/22/2022
0
7/23/2022
0
7/27/2022
0
8/2/2022
0
8/8/2022
0
8/19/2022
0
9/26/2022
0
10/14/2022
0
10/29/2022
0
in_quarter_to_date-fältet skapas i föregående LOAD-sats med hjälp av funktionen inquartertodate(). Det första argumentet som anges identifierar vilket fält som utvärderas. Det andra argumentet är ett hårdkodat datum för den 15 maj, vilket är base_date som identifierar vilket kvartal som ska segmenteras och definierar slutgränsen för det segmentet. period_no-värdet 0 är det sista argumentet, vilket betyder att funktionen inte jämför kvartalen före eller efter det segmenterade kvartalet.
Alla transaktioner som sker mellan 1 april och 15 maj returnerar det booleska resultatet TRUE. Transaktionsdatum som är 16 maj och senare kommer att returneras FALSE, liksom alla transaktioner före 1 april.
Exempel 2 – period_no
Översikt
Öppn skriptredigeraren och lägg till laddningsskriptet nedan till en ny flik.
Laddningsskriptet innehåller:
Samma datauppsättning och scenario som i det första exemplet.
Skapandet av ett fält, previous_qtr_to_date, som bestämmer vilka transaktioner som ägde rum ett helt kvartal innan den 15 maj 2022.
Ladda data och öppna ett ark. Skapa en ny tabell och lägg till dessa fält som dimensioner:
date
previous_qtr_to_date
Resultattabell
date
previous_qtr_to_date
1/7/2022
-1
1/19/2022
-1
2/5/2022
-1
2/28/2022
0
3/16/2022
0
4/1/2022
0
5/7/2022
0
5/16/2022
0
6/15/2022
0
6/26/2022
0
7/9/2022
0
7/22/2022
0
7/23/2022
0
7/27/2022
0
8/2/2022
0
8/8/2022
0
8/19/2022
0
9/26/2022
0
10/14/2022
0
10/29/2022
0
period_no-värdet på -1 indikerar att inquartertodate ()-funktionen jämför det ingående kvartalssegmentet med föregående kvartal. 15 maj infaller under årets andra kvartal, så segmentet motsvarar initialt mellan 1 april och 15 maj. period_no skjuter sedan bak detta segment till tre månader tidigare, vilket gör att datumgränserna blir 1 januari till 15 februari.
Därför kommer alla transaktioner som sker mellan 1 januari och 15 februari att returnera ett booleskt resultat som är TRUE.
Exempel 3 – first_month_of_year
Översikt
Öppn skriptredigeraren och lägg till laddningsskriptet nedan till en ny flik.
Laddningsskriptet innehåller:
Samma datauppsättning och scenario som i det första exemplet.
Skapandet av ett fält, in_quarter_to_date, som bestämmer vilka transaktioner som ägde rum under kvartalet fram till den 15 maj 2022.
I det här exemplet anger vi mars som den första månaden av räkenskapsåret.
Ladda data och öppna ett ark. Skapa en ny tabell och lägg till dessa fält som dimensioner:
date
in_quarter_to_date
Resultattabell
date
inquartertodate
1/7/2022
0
1/19/2022
0
2/5/2022
0
2/28/2022
0
3/16/2022
-1
4/1/2022
-1
5/7/2022
-1
5/16/2022
0
6/15/2022
0
6/26/2022
0
7/9/2022
0
7/22/2022
0
7/23/2022
0
7/27/2022
0
8/2/2022
0
8/8/2022
0
8/19/2022
0
9/26/2022
0
10/14/2022
0
10/29/2022
0
Genom att använda 3 som first_month_of_year-argument i inquartertodate()-funktionen startar funktionen året den 1 mars och delar sedan upp året i kvartal. Därför är kvartalssegmenten:
Mars till maj
Juni till augusti
September till november
December till februari
base_date den 15 maj segmenterar då kvartalet mars till maj genom att ställa in slutdatum på 15 maj.
Därför kommer alla transaktioner som sker mellan 1 mars och 15 maj att returnera det booleska resultatet TRUE, medan transaktioner med datum utanför dessa gränser kommer att returnera värdet FALSE.
Exampel 4 – Diagramobjektexempel
Översikt
Öppna skriptredigeraren och lägg till laddningsskriptet nedan till en ny flik.
Laddningsskriptet innehåller samma datauppsättning och scenario som i det första exemplet. I det här exemplet har dock den oförändrade datauppsättningen skickats till programmet. Beräkningen som avgör om transaktioner har skett i samma kvartal som den 15 maj skapas som ett mått i diagramobjektet.
Ladda data och öppna ett ark. Skapa en ny tabell och lägg till det här fältet som en dimension:date.
Skapa följande mått:
=inquartertodate(date,'05/15/2022', 0)
Resultattabell
date
=inquartertodate(date,'05/15/2022', 0)
1/7/2022
0
1/19/2022
0
2/5/2022
0
2/28/2022
0
3/16/2022
0
4/1/2022
-1
5/7/2022
-1
5/16/2022
0
6/15/2022
0
6/26/2022
0
7/9/2022
0
7/22/2022
0
7/23/2022
0
7/27/2022
0
8/2/2022
0
8/8/2022
0
8/19/2022
0
9/26/2022
0
10/14/2022
0
10/29/2022
0
in_quarter_to_date-måttet skapas i ett diagramobjekt med hjälp av inquartertodate()-funktionen. Det första argumentet är datumfältet som utvärderas. Det andra argumentet är ett hårdkodat datum för den 15 maj, vilket är base_date som identifierar vilket kvartal som ska segmenteras samt definierar slutgränsen för det segmentet. period_no-värdet 0 är det sista argumentet, vilket betyder att funktionen inte jämför kvartalen före eller efter det segmenterade kvartalet.
Alla transaktioner som sker mellan 1 april och 15 maj returnerar det boolesk resultatet TRUE. Transaktionsdatum som är 16 maj och senare kommer att returneras som FALSE, liksom alla transaktioner före 1 april.
Exempel 5 – Scenario
Översikt
Öppn skriptredigeraren och lägg till laddningsskriptet nedan till en ny flik.
Laddningsskriptet innehåller:
En datauppsättning läses in i en tabell som heter Products.
Information om produkt-ID, tillverkningsdatum och självkostnadspris.
Den 15 maj 2022 identifierades ett utrustningsfel i tillverkningsprocessen och åtgärdades. Produkter som tillverkats under det kvartalet fram till detta datum kommer att vara defekta. Slutanvändaren vill ha ett diagramobjekt som visar, efter kvartalsnamn, status för tillverkade produkter som var "defekta" eller "felfria", samt kostnaden för de produkter som tillverkades i kvartalet fram till det datumet.
Funktionen inquartertodate() returnerar ett booleskt värde vid utvärdering av tillverkningsdatumen för var och en av produkterna. För de som returnerar ett booleskt värde på TRUE, markerar det produkterna som ‘Defective’. För alla produkter som returnerar värdet FALSE, och därför inte tillverkas under kvartalet fram till och med den 15 maj, markeras produkterna som ‘Faultless’.
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!