Diese Funktion liefert das Datum, das n Monate nach startdate liegt, bzw. n Monate vor startdate, wenn n negativ ist.
Syntax:
AddMonths(startdate, n
, [ , mode])
Rückgabe Datentyp: dual
Die Funktion addmonths() addiert oder subtrahiert eine definierte Anzahl Monate, n, von einem startdate und gibt das entsprechende Datum zurück.
Das Argument mode wirkt sich auf die Werte startdate an oder nach dem 28. des Monats aus. Wenn das Argument mode auf 1 festgelegt ist, gibt die Funktion addmonths() ein Datum zurück, dessen relativer Abstand zum Monatsende dem von startdate entspricht.
Beispiel: Der 28. Februar ist der letzte Tag des Monats. Wenn die Funktion addmonths() mit einem mode von 1 verwendet wird, um das Datum zwei Monate später zurückzugeben, dann gibt die Funktion das letzte Datum des Monats April zurück, den 30. April.
Argumente
Argument
Beschreibung
startdate
Das Startdatum als Zeitstempel, z. B. '2012-10-12'.
n
Monate als positive oder negative ganze Zahl.
mode
Legt fest, ob der Monat entsprechend zum Anfang oder zum Ende des Monats hinzugefügt wird. Der Standardmodus ist 0 für Hinzufügungen entsprechend zum Anfang des Monats. Legen Sie den Modus auf 1 für Hinzufügungen entsprechend zum Ende des Monats fest. Wenn der Modus auf 1 festgelegt und das Eingabedatum der 28. oder höher ist, prüft die Funktion im Startdatum, wie viele Tage bis zum Erreichen des Monatsendes fehlen. Die gleiche Anzahl von Tagen bis zum Monatsende wird für das gelieferte Datum festgelegt.
Verwendung
Die Funktion addmonths() wird in der Regel in einer Formel verwendet, um ein Datum zu finden, das eine bestimmte Anzahl Monate vor oder nach einem Zeitraum liegt.
Beispielsweise kann die Funktion addmonths() verwendet werden, um das Enddatum von Mobiltelefonverträgen zu identifizieren.
Funktionsbeispiele
Beispiel
Ergebnis
addmonths ('01/29/2003' ,3)
Gibt „04/29/2003“ zurück.
addmonths ('01/29/2003',3,0)
Gibt „04/29/2003“ zurück.
addmonths ('01/29/2003',3,1)
Gibt „04/28/2003“ zurück.
addmonths ('01/29/2003',1,0)
Gibt „02/28/2003“ zurück.
addmonths ('01/29/2003',1,1)
Gibt „02/26/2003“ zurück.
addmonths ('02/28/2003',1,0)
Gibt „03/28/2003“ zurück.
addmonths ('02/28/2003',1,1)
Gibt „03/31/2003“ zurück.
addmonths ('01/29/2003',-3)
Gibt „10/29/2002“ zurück.
Regionaleinstellungen
Sofern nicht anders angegeben, verwenden die Beispiele in diesem Thema das folgende Datumsformat: MM/TT/JJJJ. Das Datumsformat wird in der Anweisung SET DateFormat in Ihrem Datenladeskript angegeben. Das Standarddatumsformat in Ihrem System kann aufgrund Ihrer regionalen Einstellungen und anderer Faktoren abweichen. Sie können die Formate in den Beispielen unten Ihren Anforderungen entsprechend ändern. Sie können auch die Formate in Ihrem Ladeskript entsprechend den Beispielen ändern. Weitere Informationen finden Sie unter Ändern von regionalen Einstellungen für Apps und Skripte.
Regionale Standardeinstellungen in Apps basieren auf dem Benutzerprofil. Diese Einstellungen im regionalen Format hängen nicht mit der Sprache zusammen, die in der Benutzeroberfläche von Qlik Cloud angezeigt wird. Qlik Cloud wird in der gleichen Sprache wie der von Ihnen verwendete Browser angezeigt.
Laden Sie die Daten und öffnen Sie ein Arbeitsblatt. Erstellen Sie eine neue Tabelle und fügen Sie die folgenden Felder als Dimensionen hinzu:
date
two_months_later
Ergebnistabelle
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
Das Feld „two_months_later“ wird im vorangehenden load-Befehl mithilfe der Funktion addmonths() erstellt. Das erste angegebene Argument identifiziert, welches Datum ausgewertet wird. Das zweite Argument ist die Anzahl der Monate, die zu startdate addiert oder davon abgezogen werden sollen. In diesem Fall wird der Wert 2 angegeben.
Transaktion 8193 fand am 14. August statt. Daher gibt die Funktion addmonths() den 14. Oktober 2020 für das Feld two_months_later zurück.
Beispiel 2 – Relatives Monatsende
Übersicht
Öffnen Sie den Dateneditor und fügen Sie das Ladeskript unten in eine neue Registerkarte ein.
Das Ladeskript umfasst:
Ein Datensatz enthält eine Reihe von Monatsende-Transaktionen im Jahr 2022 und wird in eine Tabelle namens Transactions geladen.
Das Datumsfeld wird im Format der Systemvariablen DateFormat (MM/TT/JJJJ) bereitgestellt.
Es wird ein Feld relative_two_months_prior erstellt, das das relative Monatsenddatum zwei Monate nach dem Transaktionsdatum zurückgibt.
Laden Sie die Daten und öffnen Sie ein Arbeitsblatt. Erstellen Sie eine neue Tabelle und fügen Sie die folgenden Felder als Dimensionen hinzu:
date
relative_two_months_prior
Ergebnistabelle
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
Das Feld relative_two_months_prior wird in der vorangehenden load-Anweisung mithilfe der Funktion addmonths() erstellt. Das erste angegebene Argument identifiziert, welches Datum ausgewertet wird. Das zweite Argument ist die Anzahl der Monate, die zu startdate addiert oder davon abgezogen werden sollen. In diesem Fall wird der Wert -2 angegeben. Das letzte Argument ist der Modus mit einem Wert von 1, wodurch erzwungen wird, dass die Funktion das relative Monatsenddatum für alle Datumswerte am oder nach dem 28. berechnet.
Transaktion 8191 findet am 29. April 2022 statt. Anfänglich wird der Monat durch „zwei Monate vorher“ auf Februar festgelegt. Da dann das dritte Argument der Funktion den Modus auf 1 festlegt und der Wert des Tages nach dem 27. liegt, berechnet die Funktion den relativen Monatsendwert. Die Funktion identifiziert, dass der 29. der zweitletzte Tag im April ist und gibt daher den zweitletzten Tag für Februar, den 27., zurück.
Beispiel 3 – Diagrammobjektbeispiel
Übersicht
Öffnen Sie den Dateneditor und fügen Sie das Ladeskript unten in eine neue Registerkarte ein.
Das Ladeskript verwendet den gleichen Datensatz und das gleiche Szenario wie das erste Beispiel.
In diesem Beispiel wird jedoch der unveränderte Datensatz in die Anwendung geladen. Die Berechnung, die das Datum für zwei Monate nach dem Transaktionsdatum zurückgibt, wird als Kennzahl in einem Diagrammobjekt erstellt.
Laden Sie die Daten und öffnen Sie ein Arbeitsblatt. Erstellen Sie eine neue Tabelle und fügen Sie dieses Feld als Dimension hinzu: date.
Erstellen Sie die folgende Kennzahl:
=addmonths(date,2)
Ergebnistabelle
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
Die Kennzahl two_months_later wird im Diagrammobjekt anhand der Funktion addmonths() erstellt. Das erste angegebene Argument identifiziert, welches Datum ausgewertet wird. Das zweite Argument ist die Anzahl der Monate, die zu startdate addiert oder davon abgezogen werden sollen. In diesem Fall wird der Wert 2 angegeben.
Transaktion 8193 fand am 14. August statt. Daher gibt die Funktion addmonths() den 14. Oktober 2020 für das Feld two_months_later zurück.
Beispiel 4 – Szenario
Übersicht
Öffnen Sie den Dateneditor und fügen Sie das Ladeskript unten in eine neue Registerkarte ein.
Das Ladeskript umfasst:
Datensatz, der in eine Tabelle namens Mobile_Plans geladen wird
Informationen mit Vertrags-ID, Startdatum, Vertragslänge und monatlicher Gebühr.
Der Endbenutzer möchte ein Diagrammobjekt, das nach Vertrags-ID das Enddatum für jeden Telefonvertrag zurückgibt.
Laden Sie die Daten und öffnen Sie ein Arbeitsblatt. Erstellen Sie eine neue Tabelle und fügen Sie die folgenden Felder als Dimensionen hinzu:
contract_id
start_date
contract_length
Erstellen Sie die folgende Kennzahl, um das Enddatum für jeden Vertrag zu berechnen.
=addmonths(start_date,contract_length, 0)
Ergebnistabelle
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
Hat diese Seite Ihnen geholfen?
Wenn Sie Probleme mit dieser Seite oder ihren Inhalten feststellen – einen Tippfehler, einen fehlenden Schritt oder einen technischen Fehler –, teilen Sie uns bitte mit, wie wir uns verbessern können!