Denna funktion returnerar det datum som infaller n månader efter startdate eller, om n är negativt, det datum som infaller n månader före startdate.
Syntax:
AddMonths(startdate, n
, [ , mode])
Returnerad datatyp: dual
Funktionen addmonths() lägger till eller drar av ett definierat antal månader, n, från ett startdate och returnerar resulterande data.
Argumentet mode kommer att påverka värdena startdate den 28 eller senare i månaden. Genom att sätta argumentet mode till 1 returnerar funktionen addmonths() ett datum som är lika i relativt avstånd till månadens slut som startdate.
Exempel: 28 februari är den sista dagen i månaden. Om funktionen addmonths(), med ett mode av 1, används för att returnera datumet två månader senare kommer funktionen att returnera den sista dagen i april, 30 april.
Argument
Argument
Beskrivning
startdate
Startdatumet som en tidsmarkör, exempelvis '2012-10-12'.
n
Antal månader som ett positivt eller negativt heltal.
mode
Anger om månaden läggs till relativt månadens början eller månadens slut. Standardläget är 0 när den läggs till relativt månadens början. Ange läget 1 när den läggs till relativt månadens slut. När läget är inställt på 1 och indatadatumet är 28 eller högre, kontrollerar funktionen hur många dagar som återstår före månadens slut på startdatumet. Samma antal datar som krävs för att nå månadens slut anges på det returnerade datumet.
Användning
Funktionen addmonths() används oftast i ett uttryck för att hitta ett datum ett angivet antal månader före eller efter en tidsperiod.
Funktionen addmonths() kan exempelvis användas för att identifiera slutdatumet för mobiltelefoniavtal.
Exempel på funktioner
Exempel
Resultat
addmonths ('01/29/2003' ,3)
Returnerar 04/29/2003.
addmonths ('01/29/2003',3,0)
Returnerar 04/29/2003.
addmonths ('01/29/2003',3,1)
Returnerar 04/28/2003.
addmonths ('01/29/2003',1,0)
Returnerar 02/28/2003.
addmonths ('01/29/2003',1,1)
Returnerar 02/26/2003.
addmonths ('02/28/2003',1,0)
Returnerar 03/28/2003.
addmonths ('02/28/2003',1,1)
Returnerar 03/31/2003.
addmonths ('01/29/2003',-3)
Returnerar 10/29/2002.
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. Mer information finns i Ändra regioninställningar för appar och skript.
Regionala standardinställningar i appar baseras på användarprofilen. Dessa regionala formatinställningar är inte relaterade till språket som visas i Qlik Cloud användargränssnittet. Qlik Cloud 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
two_months_later
Resultattabell
date
two_months_later
01/10/2020
03/10/2020
02/28/2020
04/28/2020
04/09/2020
06/09/2020
04/16/2020
06/16/2020
05/21/2020
07/21/2020
08/14/2020
10/14/2020
10/07/2020
12/07/2020
12/05/2020
02/05/2021
01/22/2021
03/22/2021
02/03/2021
04/03/2021
03/17/2021
05/17/2021
04/23/2021
06/23/2021
05/04/2021
07/04/2021
06/30/2021
08/30/2021
07/26/2021
09/26/2021
12/27/2021
02/27/2022
02/02/2022
04/02/2022
02/26/2022
04/26/2022
03/07/2022
05/07/2022
03/11/2022
05/11/2022
two_months_later-fältet skapas i föregående load-sats med hjälp av funktionen addmonths(). Det första argumentet som anges identifierar vilket datum som utvärderas. Det andra argumentet är antalet månader som ska läggas till eller dras från startdate. I det här fallet anges värdet 2.
Transaktion 8193 ägde rum 14 augusti. Därför returnerar funktionen addmonths() 14 oktober 2020 för fältet two_months_later.
Exempel 2 – relativt månadsslut
Översikt
Öppn skriptredigeraren och lägg till laddningsskriptet nedan till en ny flik.
Laddningsskriptet innehåller:
En datauppsättning som innehåller transaktioner från månadens slut under 2022, som laddas i en tabell som heter Transactions.
Datumfältet tillhandahålls i formatet (ÅÅÅÅ-MM-DD) i systemvariabeln DateFormat.
Ett fält relative_two_months_prior skapas som returnerar det relativa datumet vid månadens slut två månader före att transaktionen ägde rum.
Ladda data och öppna ett ark. Skapa en ny tabell och lägg till dessa fält som dimensioner:
date
relative_two_months_prior
Resultattabell
date
relative_two_months_prior
01/28/2022
11/27/2021
01/31/2022
11/30/2021
02/28/2022
12/31/2021
04/29/2022
02/27/2022
04/30/2022
02/28/2022
05/31/2022
03/31/2022
08/14/2022
06/14/2022
10/07/2022
08/07/2022
relative_two_months_prior-fältet skapas i föregående LOAD-sats med hjälp av addmonths()-funktionen. Det första argumentet som anges identifierar vilket datum som utvärderas. Det andra argumentet är antalet månader som ska läggas till eller dras från startdate. I det här fallet anges värdet -2. Det sista argumentet är läget, med värdet 1, som tvingar funktionen att beräkna det relativa datumet vid månadens slut för alla datum större än eller lika med 28.
Transaktion 8191 ägde rum den 29 april 2022. Initialt skulle två månader tidigare ange månaden till februari. Därefter beräknar funktionen det relativa värdet för månadsslutet, eftersom funktionens tredje argumentet sätter läget till 1 och dagens värde till lägre än den 27:e. Funktionen identifierar att 29:e är den näst sista dagen i april och returnerar därför den näst sista dagen i februari, den 27:e.
Exempel 3 – Exempel på diagramobjekt
Ö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 datumet två månader efter att transaktionen ägde rum skapas som en mätning 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.
Skapa följande mått:
=addmonths(date,2)
Resultattabell
date
=addmonths(date,2)
01/10/2020
03/10/2020
02/28/2020
04/28/2020
04/09/2020
06/09/2020
04/16/2020
06/16/2020
05/21/2020
07/21/2020
08/14/2020
10/14/2020
10/07/2020
12/07/2020
12/05/2020
02/05/2021
01/22/2021
03/22/2021
02/03/2021
04/03/2021
03/17/2021
05/17/2021
04/23/2021
06/23/2021
05/04/2021
07/04/2021
06/30/2021
08/30/2021
07/26/2021
09/26/2021
12/27/2021
02/27/2022
02/02/2022
04/02/2022
02/26/2022
04/26/2022
03/07/2022
05/07/2022
03/11/2022
05/11/2022
two_months_later-måttet skapas i ett diagramobjekt med hjälp av addmonths()-funktionen. Det första argumentet som anges identifierar vilket datum som utvärderas. Det andra argumentet är antalet månader som ska läggas till eller dras från startdate. I det här fallet anges värdet 2.
Transaktion 8193 ägde rum 14 augusti. Därför returnerar addmonths()-funktionen 14 oktober 2020 för two_months_later-fältet.
Exempel 4 – Scenario
Översikt
Öppn skriptredigeraren och lägg till laddningsskriptet nedan till en ny flik.
Laddningsskriptet innehåller:
En datauppsättning laddas i en tabell som heter Mobile_Plans.
Information med avtals-ID, startdatum, avtalslängd och månadsavgift.
Slutanvändaren vill ha ett diagramobjekt som visar slutdatum för varje telefoniavtal, sorterat på avtals-ID.
Ladda data och öppna ett ark. Skapa en ny tabell och lägg till dessa fält som dimensioner:
contract_id
start_date
contract_length
Skapa följande mått för att beräkna slutet på varje avtal:
=addmonths(start_date,contract_length, 0)
Resultattabell
contract_id
start_date
contract_length
=addmonths(start_date,contract_length,0)
8188
01/13/2020
18
07/13/2021
8189
02/26/2020
24
02/26/2022
8190
03/27/2020
36
03/27/2023
8191
04/16/2020
24
04/16/2022
8192
05/21/2020
24
05/21/2022
8193
08/14/2020
12
08/14/2021
8194
10/07/2020
18
04/07/2022
8195
12/05/2020
12
12/05/2021
8196
01/22/2021
12
01/22/2022
8197
02/03/2021
18
08/03/2022
8198
03/17/2021
24
03/17/2023
8199
04/23/2021
24
04/23/2023
8200
05/04/2021
12
05/04/2022
8201
06/30/2021
12
06/30/2022
8202
07/26/2021
12
07/26/2022
8203
12/27/2021
36
12/27/2024
8204
06/06/2022
24
06/06/2024
8205
07/18/2022
12
07/18/2023
8206
11/14/2022
12
11/14/2023
8207
12/12/2022
18
06/12/2024
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!