Denna funktion returnerar ett värde som motsvarar en tidsmarkör för den första millisekunden av den första dagen i den månad som innehåller date. Det förvalda utdataformatet blir det DateFormat som har definierats i skriptet.
Syntax:
MonthStart(date[, period_no])
Returnerad datatyp: dual
monthstart()-funktionen bestämmer vilken månad datumet infaller. Den returnerar sedan en tidsmarkör, i datumformat, för den första millisekunden av den månaden.
Argument
Argument
Beskrivning
date
Det datum eller den tidsmarkör som ska utvärderas.
period_no
period_no är ett heltal som om det är 0 eller utelämnas anger månaden som innehåller date. Negativa värden i period_no anger föregående månader och positiva värden anger efterföljande månader.
Användning
monthstart()-funktionen används vanligtvis som en del av ett uttryck när användaren vill att beräkningen ska använda den del av månaden som har förflutit hittills. Den kan exempelvis användas för att beräkna den ränta som har ackumulerats under en månad fram till ett visst datum.
Exempel på funktioner
Exempel
Resultat
monthstart('10/19/2001')
Returnerar 10/01/2001.
monthstart('10/19/2001', -1)
Returnerar 09/01/2001.
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 systemvariabeln DateFormat.
Ett fält start_of_month skapas som returnerar en tidsmarkör för början av den månad då transaktionen ägde rum.
Ladda data och öppna ett ark. Skapa en ny tabell och lägg till dessa fält som dimensioner:
date
previous_month_start
previous_month_start_timestamp
Resultattabell
date
previous_month_start
previous_month_start_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
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
02/01/2022
2/1/2022 12:00:00 AM
4/1/2022
03/01/2022
3/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
05/01/2022
5/1/2022 12:00:00 AM
6/26/2022
05/01/2022
5/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
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
08/01/2022
8/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
I det här fallet, eftersom ett period_no på -1 användes som förskjutningsargument i monthstart()-funktionen, identifierar funktionen först den månad då transaktionerna äger rum. Den skiftar sedan till närmast föregående månad och identifierar den första millisekunden i den månaden.
Transaktion 8192 ägde rum den 16 mars. monthstart()-funktionen identifierar att månaden innan transaktionen ägde rum var februari. Den returnerar sedan den första millisekunden den månaden, 1 februari 0:00:00.
Exampel 3 – 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 början av månaden 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.
För att beräkna startdatum för den månad då en transaktion äger rum skapar du följande mått:
=monthstart(date)
=timestamp(monthstart(date))
Resultattabell
date
=monthstart(date)
=timestamp(monthstart(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
9/26/2022
09/01/2022
9/1/2022 12:00:00 AM
8/2/2022
08/01/2022
8/1/2022 12:00:00 AM
8/8/2022
08/01/2022
8/1/2022 12:00:00 AM
8/19/2022
08/01/2022
8/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
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
5/7/2022
05/01/2022
5/1/2022 12:00:00 AM
5/16/2022
05/01/2022
5/1/2022 12:00:00 AM
4/1/2022
04/01/2022
4/1/2022 12:00:00 AM
3/16/2022
03/01/2022
3/1/2022 12:00:00 AM
2/5/2022
02/01/2022
2/1/2022 12:00:00 AM
2/28/2022
02/01/2022
2/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
start_of_month-måttet skapades i diagrammet genom att använda monthstart()-funktionen och skicka datumfältet som funktionens argument.
monthstart()-funktionen identifierar vilken månad datumvärdet infaller och returnerar en tidsmarkör för den första millisekunden av den månaden.
Transaktion 8192 ägde rum den 16 mars. monthstart()-funktionen identifierar att transaktionen ägde rum i mars och returnerar den första millisekunden av den månaden, vilket är den 1 mars 0:00:00.
Exempel 4 – 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 månadens 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 månaden hittills.
Genom att använda dagens datum som enda argument returnerar monthstart()-funktionen startdatumet för den aktuella månaden. Genom att subtrahera resultatet från det aktuella datumet returnerar uttrycket antalet dagar som har förflutit hittills denna månad.
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 denna månad.
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!