inmonthstodate - Skript- und Diagrammfunktion
Diese Funktion ermittelt, ob ein Zeitstempel im Teil des Zeitraums von einem Monat, Zweimonatszeitraum, Quartal, Viermonatszeitraum oder Halbjahr liegt, bis einschließlich zur letzten Millisekunde von base_date. Es lässt sich auch bestimmen, ob ein Zeitstempel in den vorhergehenden oder nachfolgenden Zeitraum fällt.
Syntax:
InMonths (n_months, timestamp, base_date, period_no[, first_month_of_year ])
Rückgabe Datentyp: Boolesch
Argument | Beschreibung |
---|---|
n_months |
Die Anzahl der Monate, die den Zeitraum definiert. Eine Ganzzahl oder eine Formel, die eine Ganzzahl mit einem der folgenden Werte ergibt: 1 (entspricht der Funktion inmonth()), 2 (Zweimonatszeitraum), 3 (entspricht der Funktion inquarter()), 4 (Viermonatszeitraum) oder 6 (Halbjahr). |
timestamp | Das Datum, das mit base_date verglichen werden soll. |
base_date | Datum, das für die Interpretation des Zeitraums verwendet wird. |
period_no |
Mit period_no, einer ganze Zahl oder einer Formel, die eine ganze Zahl ergibt, kann ein anderer Beginn für den Zeitraum festgelegt werden, wobei 0 für den Zeitraum steht, der base_date enthält. Negative Werte von period_no stehen für vorangehende, positive Werte für nachfolgende Zeiträume. |
first_month_of_year |
Wenn Sie mit abweichenden Geschäftsjahren arbeiten möchten, definieren Sie mit einer Zahl zwischen 2 und 12 für first_month_of_year einen anderen Startmonat. |
In der Funktion inmonthstodate() fungiert das base_date als Endpunkt des bestimmten Jahressegments, zu dem es gehört.
Wenn beispielsweise das Jahr in Viermonatssegmente unterteilt wurde und das base_date der 15. Mai war, gibt jeder Zeitstempel zwischen Anfang Januar und Ende April ein boolesches Ergebnis von FALSE zurück. Datumswerte zwischen dem 1. und dem 15. Mai geben TRUE zurück. Der Rest des Jahres gibt wiederum FALSE zurück.
Die folgenden Segmente des Jahres sind in der Funktion als Argumente n_month verfügbar.
Zeitraum | Anzahl der Monate |
---|---|
Monat | 1 |
Zweimonatszeitraum | 2 |
Quartal | 3 |
vier Monate | 4 |
Halbjahr | 6 |
Verwendung
Die Funktion inmonthstodate() gibt einen booleschen Wert zurück. In der Regel wird dieser Funktionstyp als Bedingung in einer if expression verwendet. Wenn Sie die Funktion inmonthstodate() verwenden, können Sie den Zeitraum auswählen, den Sie auswerten möchten. Sie können beispielsweise eine Eingabevariable angeben, damit der Benutzer Produkte identifizieren kann, die im Monat, Quartal oder Halbjahr eines Zeitraums bis zu einem bestimmten Datum hergestellt wurden.
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.
Die standardmäßigen regionalen Einstellungen in Apps basieren auf den regionalen Systemeinstellungen der Computer oder Server, auf denen Qlik Sense installiert ist. Wenn der Qlik Sense-Server, auf den Sie zugreifen, auf Schweden festgelegt ist, verwendet der Dateneditor die schwedischen regionalen Einstellungen für Datums-, Uhrzeit- und Währungsangaben. Diese Einstellungen im regionalen Format hängen nicht mit der Sprache zusammen, die in der Benutzeroberfläche von Qlik Sense angezeigt wird. Qlik Sense wird in der gleichen Sprache wie der von Ihnen verwendete Browser angezeigt.
Beispiel | Ergebnis |
---|---|
inmonthstodate(4, '01/25/2013', '04/25/2013', 0) | Gibt True zurück, weil der Wert von timestamp (01/25/2013) in dem Viermonatszeitraum 01/01/2013 bis zum Ende von 04/25/2013 liegt, in dem der Wert von base_date (04/25/2013) liegt. |
inmonthstodate(4, '04/26/2013', '04/25/2006', 0) | Gibt False zurück, weil 04/26/2013 sich außerhalb des im vorhergehenden Beispiel angegebenen Zeitraums befindet. |
inmonthstodate(4, '09/25/2005', '02/01/2006', -1) | Gibt True zurück, weil der Wert von period_no (-1) den Suchzeitraum um einen Zeitraum von vier Monaten (den Wert von n-months) nach hinten verschiebt. Dadurch ergibt sich der Suchzeitraum 01/09/2005 bis 02/01/2006. |
inmonthstodate(4, '04/25/2006', '06/01/2006', 0, 3) | Gibt True zurück, weil der Wert von first_month_of_year auf 3 festgelegt ist, weshalb der Suchzeitraum 03/01/2006 bis 06/01/2006 anstelle von 05/01/2006 bis 06/01/2006 wird. |