Deze functie retourneert de datum n maanden na startdate of, als n negatief is, de datum n maanden vóór startdate.
Syntaxis:
AddMonths(startdate, n
, [ , mode])
Retourgegevenstypen: dual
De addmonths()-functie voegt een gedefinieerd aantal maanden toe aan of trekt dit aantal af, n, van een startdate en retourneert de resulterende datum.
Het argument mode heeft invloed op startdate-waarden op of na de 28e van de maand. Door het argument mode in te stellen op 1, retourneert de addmonths()-functie een datum die gelijk is aan de relatieve afstand tot het eind van de maand als de startdate.
Bijvoorbeeld: 28 februari is de laatste dag van de maand. Als de addmonths()-functie, met een mode van 1, wordt gebruikt om de datum twee maanden later te retourneren, retourneert de functie de laatste datum van april: 30 april.
Argumenten
Argument
Beschrijving
startdate
De startdatum als tijdstempel, bijvoorbeeld '2012-10-12'.
n
Aantal maanden als een positief of negatief geheel getal.
mode
Geeft aan of de maand relatief tot het begin of het eind van de maand is toegevoegd. Standaardmodus is 0 voor toevoegingen relatief tot het begin van de maand. Stel modus in op 1 voor toevoegingen relatief tot het eind van de maand. Als de modus is ingesteld op 1 en de invoerdatum de 28ste of later is, controleert de functie hoeveel dagen er op de startdatum nog resteren voordat het eind van de maand is bereikt. Hetzelfde aantal dagen dat resteert voordat het eind van de maand is bereikt, wordt ingesteld op de geretourneerde datum.
Wanneer gebruiken
De addmonths()-functie wordt doorgaans gebruikt in een uitdrukking om een datum te vinden met een bepaald aantal maanden vóór of na een bepaalde periode.
Bijvoorbeeld: de addmonths()-functie kan worden gebruikt om de einddatum van mobieletelefooncontracten te identificeren.
Voorbeelden van functies
Voorbeeld
Resultaat
addmonths ('01/29/2003' ,3)
Retourneert '04/29/2003'.
addmonths ('01/29/2003',3,0)
Retourneert '04/29/2003'.
addmonths ('01/29/2003',3,1)
Retourneert '04/28/2003'.
addmonths ('01/29/2003',1,0)
Retourneert '02/28/2003'.
addmonths ('01/29/2003',1,1)
Retourneert '02/26/2003'.
addmonths ('02/28/2003',1,0)
Retourneert '03/28/2003'.
addmonths ('02/28/2003',1,1)
Retourneert '03/31/2003'.
addmonths ('01/29/2003',-3)
Retourneert '10/29/2002'.
Landinstellingen
Tenzij anders aangegeven, wordt in de voorbeelden in dit onderwerp de volgende datumindeling gebruikt: MM/DD/JJJJ. De datumopmaak wordt opgegeven in de opdracht SET DateFormat in uw script voor het laden van gegevens. De standaard datumindeling is mogelijk anders op uw systeem vanwege landinstellingen en andere factoren. U kunt de indelingen in de voorbeelden wijzigen zodat deze aansluiten op uw behoeften. Of u kunt de indelingen in uw load-script wijzigen zodat ze overeenkomen met deze voorbeelden.
Standaard landinstellingen in apps zijn gebaseerd op de regionale systeeminstellingen van de computer of server waarop Qlik Sense is geïnstalleerd. Als de Qlik Sense-server die u gebruikt is ingesteld op Zweden, gebruikt de editor voor laden van gegevens de Zweedse landinstellingen voor datums, tijd en valuta. Deze landinstellingen voor indelingen zijn niet gerelateerd aan de taal die wordt weergegeven in de gebruikersinterface van Qlik Sense. Qlik Sense wordt weergegeven in dezelfde taal als de browser die u gebruikt.
Voorbeeld 1 – geen aanvullende argumenten
Overzicht
Open de editor voor laden van gegevens en voeg het onderstaande load-script toe aan een nieuw tabblad.
Het load-script bevat:
Een gegevensverzameling met een set transacties tussen 2020 en 2022 die wordt geladen in de tabel Transactions.
Het datumveld opgegeven in de DateFormat-systeemvariabele (MM/DD/YYYY) indeling.
Het maken van een veld, two_months_later, dat de datum retourneert voor twee maanden nadat de transactie plaatsvond.
Laad de gegevens en open een werkblad. Maak een nieuwe tabel en voeg deze velden toe als dimensies:
date
two_months_later
Resultatentabel
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
Het veld two_months_later wordt gemaakt in de vorige load-instructie met behulp van de functie addmonths(). Het eerste opgegeven argument geeft aan welke datum wordt geëvalueerd. Het tweede argument is het aantal maanden dat moet worden opgeteld bij of afgetrokken van de startdate. In dit geval is de waarde 2 opgegeven.
Transactie 8193 vond plaats op 14 augustus. Daarom retourneert de addmonths()-functie 14 oktober 2020 voor het veld two_months_later.
Voorbeeld 2 – Relatief einde van de maand
Overzicht
Open de editor voor laden van gegevens en voeg het onderstaande load-script toe aan een nieuw tabblad.
Het load-script bevat:
Een gegevensset met een set eindemaandstransacties in 2022 die wordt geladen in een tabel met de naam Transactions.
Het datumveld opgegeven in de DateFormat-systeemvariabele (MM/DD/YYYY) indeling.
Het maken van een veld, relative_two_months_prior, dat de datum retourneert voor de relatieve datum voor het einde van de maand voordat de transactie plaatsvond.
Laad de gegevens en open een werkblad. Maak een nieuwe tabel en voeg deze velden toe als dimensies:
date
relative_two_months_prior
Resultatentabel
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
Het veld relative_two_months_prior wordt gemaakt in de vorige load-instructie met behulp van de functie addmonths(). Het eerste opgegeven argument geeft aan welke datum wordt geëvalueerd. Het tweede argument is het aantal maanden dat moet worden opgeteld bij of afgetrokken van de startdate. In dit geval is de waarde -2 opgegeven. Het laatste argument is de modus met de waarde 1, die de functie forceert de relatieve datum voor het einde van de maand te berekenen voor alle datums die groter zijn dan of gelijk zijn aan 28.
Transactie 8191 vindt plaats op 29 april 2022. In eerste instantie zou twee maanden eerder de maand instellen op februari. Vervolgens berekent de functie de relatieve waarde voor het einde van de maand, omdat het derde argument van de functie de modus instelt op 1 en de dagwaarde later is dan de 27e. De functie identificeert dat de 29e de op één na laatste dag van april is en retourneert daarom de op één na laatste dag van februari, de 27e.
Voorbeeld 3 – Diagramobjectvoorbeeld
Overzicht
Open de editor voor laden van gegevens en voeg het onderstaande load-script toe aan een nieuw tabblad.
Het load-script bevat dezelfde gegevensset en scenario als het eerste voorbeeld.
In dit voorbeeld wordt de ongewijzigde gegevensset echter in de applicatie geladen. De berekening die de datum retourneert voor twee maanden nadat de transactie plaatsvond, wordt gemaakt als een meting in een diagramobject.
Laad de gegevens en open een werkblad. Maak een nieuwe tabel en voeg dit veld toe als dimensie: date.
Maak de volgende meting:
=addmonths(date,2)
Resultatentabel
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
De meting two_months_later wordt in het diagramobject gemaakt met behulp van de functie addmonths(). Het eerste opgegeven argument geeft aan welke datum wordt geëvalueerd. Het tweede argument is het aantal maanden dat moet worden opgeteld bij of afgetrokken van de startdate. In dit geval is de waarde 2 opgegeven.
Transactie 8193 vond plaats op 14 augustus. Daarom retourneert de addmonths()-functie 14 oktober 2020 voor het veld two_months_later.
Voorbeeld 4 – Scenario
Overzicht
Open de editor voor laden van gegevens en voeg het onderstaande load-script toe aan een nieuw tabblad.
Het load-script bevat:
Een gegevensset die wordt geladen in een tabel met de naam Mobile_Plans.
Informatie met de contract-id, begindatum, contractduur en maandelijkse kosten.
De eindgebruiker wil graag een diagramobject dat de einddatum van elk telefooncontract op contract-id weergeeft.
Laad de gegevens en open een werkblad. Maak een nieuwe tabel en voeg deze velden toe als dimensies:
contract_id
start_date
contract_length
Maak de volgende meting aan om de einddatum van elk contract te berekenen:
=addmonths(start_date,contract_length, 0)
Resultatentabel
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
Was deze pagina nuttig?
Als u problemen ervaart op deze pagina of de inhoud onjuist is – een typfout, een ontbrekende stap of een technische fout – laat het ons weten zodat we dit kunnen verbeteren!