Denna funktion returnerar ett värde som motsvarar en tidsmarkör för den första millisekunden i det kvartal som innehåller date. Det förvalda utdataformatet blir det DateFormat som har definierats i skriptet.
quarterstart()-funktionen bestämmer vilket kvartal date infaller. Den returnerar sedan en tidsmarkör, i datumformat, för den första millisekunden i den första månaden i det kvartalet.
Argument
Argument
Beskrivning
date
Det datum eller den tidsmarkör som ska utvärderas.
period_no
period_no är ett heltal, där värdet 0 anger det kvartal som innehåller 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
quarterstart()-funktionen används vanligtvis som en del av ett uttryck när användaren vill att beräkningen ska använda den del av kvartalet som har förflutit hittills. Den kan exempelvis användas om en användare vill beräkna den ränta som har ackumulerats under ett kvartal fram till dagens datum.
Exempel på funktioner
Exempel
Resultat
quarterstart('10/29/2005')
Returnerar 10/01/2005.
quarterstart('10/29/2005', -1 )
Returnerar 07/01/2005.
quarterstart('10/29/2005', 0, 3)
Returnerar 09/01/2005.
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 för 2022 som läses in i en tabell som heter Transactions.
Datumfältet tillhandahålls i formatet (ÅÅÅÅ-MM-DD) i system variabeln DateFormat.
Ett fält start_of_quarter skapas som returnerar en tidsmarkör för början av det kvartal då transaktionen ägde rum.
Ladda data och öppna ett ark. Skapa en ny tabell och lägg till dessa fält som dimensioner:
date
start_of_quarter
start_of_quarter_timestamp
Resultattabell
date
start_of_quarter
start_of_quarter_timestamp
1/7/2022
01/01/2022
1/1/2022 12:00:00 AM
1/19/2022
01/01/2022
1/1/2022 12:00:00 AM
2/5/2022
01/01/2022
1/1/2022 12:00:00 AM
2/28/2022
01/01/2022
1/1/2022 12:00:00 AM
3/16/2022
01/01/2022
1/1/2022 12:00:00 AM
4/1/2022
04/01/2022
4/1/2021 12:00:00 AM
5/7/2022
04/01/2022
4/1/2021 12:00:00 AM
5/16/2022
04/01/2022
4/1/2021 12:00:00 AM
6/15/2022
04/01/2022
4/1/2021 12:00:00 AM
6/26/2022
04/01/2022
4/1/2021 12:00:00 AM
7/9/2022
07/01/2022
7/1/2021 12:00:00 AM
7/22/2022
07/01/2022
7/1/2021 12:00:00 AM
7/23/2022
07/01/2022
7/1/2021 12:00:00 AM
7/27/2022
07/01/2022
7/1/2021 12:00:00 AM
8/2/2022
07/01/2022
7/1/2021 12:00:00 AM
8/8/2022
07/01/2022
7/1/2021 12:00:00 AM
8/19/2022
07/01/2022
7/1/2021 12:00:00 AM
9/26/2022
07/01/2022
7/1/2021 12:00:00 AM
10/14/2022
10/01/2022
10/1/2022 12:00:00 AM
10/29/2022
10/01/2022
10/1/2022 12:00:00 AM
start_of_quarter-fältet skapades i den föregående load-satsen genom att användaquarterstart()-funktionen och skicka datumfältet som funktionens argument. quarterstart()-funktionen identifierar initialt under vilket kvartal datumvärdet infaller. Den returnerar sedan en tidsmarkör för den första millisekunden i det kvartalet.
Transaktion 8203 ägde rum 8 augusti. quarterstart()-funktionen identifierar att transaktionen ägde rum under det tredje kvartalet och returnerar den första millisekunden av det kvartalet, vilket är 1 juli 0:00:00.
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.
Ett fält previous_quarter_start skapas som returnerar tidsmarkören för början av kvartalet innan transaktionen ägde rum.
Ladda data och öppna ett ark. Skapa en ny tabell och lägg till dessa fält som dimensioner:
date
previous_quarter_start
previous_quarter_start_timestamp
Resultattabell
date
previous_quarter_start
previous_quarter_start_timestamp
1/7/2022
10/01/2021
10/1/2021 12:00:00 AM
1/19/2022
10/01/2021
10/1/2021 12:00:00 AM
2/5/2022
10/01/2021
10/1/2021 12:00:00 AM
2/28/2022
10/01/2021
10/1/2021 12:00:00 AM
3/16/2022
10/01/2021
10/1/2021 12:00:00 AM
4/1/2022
01/01/2022
1/1/2022 12:00:00 AM
5/7/2022
01/01/2022
1/1/2022 12:00:00 AM
5/16/2022
01/01/2022
1/1/2022 12:00:00 AM
6/15/2022
01/01/2022
1/1/2022 12:00:00 AM
6/26/2022
01/01/2022
1/1/2022 12:00:00 AM
7/9/2022
04/01/2022
4/1/2021 12:00:00 AM
7/22/2022
04/01/2022
4/1/2021 12:00:00 AM
7/23/2022
04/01/2022
4/1/2021 12:00:00 AM
7/27/2022
04/01/2022
4/1/2021 12:00:00 AM
8/2/2022
04/01/2022
4/1/2021 12:00:00 AM
8/8/2022
04/01/2022
4/1/2021 12:00:00 AM
8/19/2022
04/01/2022
4/1/2021 12:00:00 AM
9/26/2022
04/01/2022
4/1/2021 12:00:00 AM
10/14/2022
07/01/2022
7/1/2022 12:00:00 AM
10/29/2022
07/01/2022
7/1/2022 12:00:00 AM
I det här fallet, eftersom ett period_no på -1 användes som förskjutningsargument i quarterstart()-funktionen, identifierar funktionen först det kvartal då transaktionerna äger rum. Den skiftar sedan till närmast föregående kvartal och identifierar den första millisekunden i det kvartalet.
Transaktion 8203 ägde rum 8 augusti. quarterstart()-funktionen identifierar att kvartalet innan transaktionen ägde rum var mellan 1 april och 30 juni. Den returnerar sedan den första millisekunden det kvartalet, 1 april 0:00:00.
Exempel 3 – first_month_of_year
Översikt
Öppna skriptredigeraren och lägg till laddningsskriptet nedan i en ny flik.
Laddningsskriptet innehåller samma datauppsättning och scenario som i det första exemplet. Men i det här exemplet måste vi ställa in 1 mars som den första månaden i räkenskapsåret.
Ladda data och öppna ett ark. Skapa en ny tabell och lägg till dessa fält som dimensioner:
date
start_of_quarter
start_of_quarter_timestamp
Resultattabell
date
start_of_quarter
start_of_quarter_timestamp
1/7/2022
12/01/2021
12/1/2021 12:00:00 AM
1/19/2022
12/01/2021
12/1/2021 12:00:00 AM
2/5/2022
12/01/2021
12/1/2021 12:00:00 AM
2/28/2022
12/01/2021
12/1/2021 12:00:00 AM
3/16/2022
03/01/2022
3/1/2022 12:00:00 AM
4/1/2022
03/01/2022
3/1/2022 12:00:00 AM
5/7/2022
03/01/2022
3/1/2022 12:00:00 AM
5/16/2022
03/01/2022
3/1/2022 12:00:00 AM
6/15/2022
06/01/2022
6/1/2022 12:00:00 AM
6/26/2022
06/01/2022
6/1/2022 12:00:00 AM
7/9/2022
06/01/2022
6/1/2022 12:00:00 AM
7/22/2022
06/01/2022
6/1/2022 12:00:00 AM
7/23/2022
06/01/2022
6/1/2022 12:00:00 AM
7/27/2022
06/01/2022
6/1/2022 12:00:00 AM
8/2/2022
06/01/2022
6/1/2022 12:00:00 AM
8/8/2022
06/01/2022
6/1/2022 12:00:00 AM
8/19/2022
06/01/2022
6/1/2022 12:00:00 AM
9/26/2022
09/01/2022
9/1/2022 12:00:00 AM
10/14/2022
09/01/2022
9/1/2022 12:00:00 AM
10/29/2022
09/01/2022
9/1/2022 12:00:00 AM
Eftersom first_month_of_year-argumentet 3 används i quarterstart()-funktionen flyttas årets början från 1 januari till 1 mars.
Transaktion 8203 ägde rum 8 augusti. Eftersom årets början är 1 mars inträffar kvartalen under året i mars-maj, juni-augusti, september-november och december-februari. quarterstart()-funktionen identifierar att transaktionen ägde rum i kvartalet mellan början av juni och augusti och returnerar den första millisekunden i det kvartalet, vilket är 1 juni 0:00:00.
Exampel 4 – Diagramobjektexempel
Översikt
Öppna skriptredigeraren och lägg till laddningsskriptet nedan i 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 returnerar en tidsmarkör för slutet av kvartalet då transaktionerna ägde rum skapas som ett mått i ett diagramobjekt för programmet.
Ladda data och öppna ett ark. Skapa en ny tabell och lägg till det här fältet som en dimension: date.
Lägg till följande mått:
=quarterstart(date)
=timestamp(quarterstart(date))
Resultattabell
date
=quarterstart(date)
=timestamp(quarterstart(date))
10/14/2022
10/01/2022
10/1/2022 12:00:00 AM
10/29/2022
10/01/2022
10/1/2022 12:00:00 AM
7/9/2022
07/01/2022
7/1/2022 12:00:00 AM
7/22/2022
07/01/2022
7/1/2022 12:00:00 AM
7/23/2022
07/01/2022
7/1/2022 12:00:00 AM
7/27/2022
07/01/2022
7/1/2022 12:00:00 AM
8/2/2022
07/01/2022
7/1/2022 12:00:00 AM
8/8/2022
07/01/2022
7/1/2022 12:00:00 AM
8/19/2022
07/01/2022
7/1/2022 12:00:00 AM
9/26/2022
07/01/2022
7/1/2022 12:00:00 AM
4/1/2022
04/01/2022
4/1/2022 12:00:00 AM
5/7/2022
04/01/2022
4/1/2022 12:00:00 AM
5/16/2022
04/01/2022
4/1/2022 12:00:00 AM
6/15/2022
04/01/2022
4/1/2022 12:00:00 AM
6/26/2022
04/01/2022
4/1/2022 12:00:00 AM
1/7/2022
01/01/2022
1/1/2022 12:00:00 AM
1/19/2022
01/01/2022
1/1/2022 12:00:00 AM
2/5/2022
01/01/2022
1/1/2022 12:00:00 AM
2/28/2022
01/01/2022
1/1/2022 12:00:00 AM
3/16/2022
01/01/2022
1/1/2022 12:00:00 AM
start_of_quarter-måttet skapades i den föregående load-satsen genom att använda quarterstart()-funktionen och skicka date-fältet som funktionens argument.
quarterstart()-funktionen identifierar vilket kvartal datumvärdet infaller och returnerar en tidsmarkör för den första millisekunden i det kvartalet.
Transaktion 8203 ägde rum 8 augusti. quarterstart()-funktionen identifierar att transaktionen ägde rum under det tredje kvartalet och returnerar den första millisekunden i det kvartalet. Det returnerade värdet är 1 juli 0:00:00.
Exempel 5 – Scenario
Översikt
Öppn skriptredigeraren och lägg till laddningsskriptet nedan till en ny flik.
Laddningsskriptet innehåller:
En datauppsättning som innehåller en uppsättning lånesaldon som laddas i en tabell som heter Loans.
Data som består av låne-ID:n, saldot vid kvartalets början och den enkla räntan som tas ut på varje lån per år.
Slutanvändaren vill ha ett diagramobjekt som visar, efter låne-id, den aktuella räntan som har ackumulerats för varje lån under kvartalet hittills.
Genom att använda dagens datum som enda argument returnerar quarterstart()-funktionen slutdatumet för det aktuella året. Genom att subtrahera resultatet från det aktuella datumet returnerar uttrycket antalet dagar som har förflutit hittills under detta kvartal.
Detta värde multipliceras sedan med räntan och divideras med 365 för att returnera den effektiva räntan för perioden. Resultatet multipliceras sedan med lånets utgångssaldo för att returnera den upplupna räntan hittills detta kvartal.
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!