Diese Funktion liefert True, wenn timestamp innerhalb des Monats liegt, der base_date enthält.
Syntax:
InMonth (timestamp, base_date, period_no)
Die Funktion inmonth() bestimmt also, ob eine Reihe von Datumsangaben innerhalb dieses Monats liegen, und gibt einen booleschen Wert basierend auf einem base_date an, das den Monat identifiziert.
Verwendung
Die Funktion inmonth() gibt einen booleschen Wert zurück. In der Regel wird dieser Funktionstyp als Bedingung in einer if expression verwendet. Dies gibt eine Aggregierung oder Berechnung zurück, abhängig davon, ob ein Datum in den Monat fällt, einschließlich des betreffenden Datums.
Beispielsweise kann die Funktion inmonth() verwendet werden, um alle in einem bestimmten Monat gefertigten Geräte zu identifizieren.
Rückgabe Datentyp: Boolesch
In Qlik Sense wird der boolesche Wert „wahr“ durch -1 dargestellt, der Wert „falsch“ durch 0.
Argumente
Argument
Beschreibung
Zeitstempel
Das Datum, das mit base_date verglichen werden soll.
base_date
Datum, das für die Interpretation des Monats verwendet wird. Beachten Sie, dass das base_date jeder beliebige Tag innerhalb eines Monats sein kann.
period_no
Mit period_no kann der Monat verschoben werden. period_no ist eine ganze Zahl, wobei 0 für den Monat steht, der base_date enthält. Negative Werte von period_no stehen für vorangehende, positive Werte für nachfolgende Monate.
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
in_month
Funktionsbeispiele
date
in_month
1/10/2022
0
1/14/2022
0
1/20/2022
0
1/22/2022
0
2/1/2022
0
2/2/2022
0
2/20/2022
0
4/11/2022
-1
4/13/2022
-1
4/15/2022
-1
4/25/2022
-1
5/20/2022
0
5/22/2022
0
6/19/2022
0
6/22/2022
0
Das Feld „in_month“ wird im vorangehenden load-Befehl erstellt, indem die Funktion inmonth() verwendet und das Datumsfeld, ein hartcodierter Zeitstempel für den 1. April als unser base_date und eine period_no von 0 als Argumente der Funktion übergeben werden.
Das base_date identifiziert den Monat, der ein boolesches Ergebnis von TRUE zurückgibt. Daher geben alle Transaktionen, die im April stattfanden, TRUE zurück, was in der Ergebnistabelle validiert wird.
Beispiel 2 – period_no
Übersicht
Es werden derselbe Datensatz und dasselbe Szenario wie im ersten Beispiel verwendet.
In diesem Beispiel erstellen Sie jedoch ein Feld „2_months_prior“, das angibt, ob die Transaktionen zwei Monate vor April stattfanden.
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
2_months_prior
Funktionsbeispiele
date
2_months_prior
1/10/2022
0
1/14/2022
0
1/20/2022
0
1/22/2022
0
2/1/2022
-1
2/2/2022
-1
2/20/2022
-1
4/11/2022
0
4/13/2022
0
4/15/2022
0
4/25/2022
0
5/20/2022
0
5/22/2022
0
6/19/2022
0
6/22/2022
0
Wenn Sie -2 als Argument für period_no in der Funktion inmonth() verwenden, wird der vom Argument base_date definierte Monat um zwei Monate zurück verschoben. In diesem Beispiel wird der definierte Monat von April zu Februar geändert.
Wenn also eine Transaktion im Februar stattfand, wird ein boolesches Ergebnis von TRUE zurückgegeben.
Beispiel 3 – Diagrammobjekt
Überblick
Es werden derselbe Datensatz und dasselbe Szenario wie in den vorigen Beispielen verwendet.
In diesem Beispiel wird jedoch der unveränderte Datensatz in die Anwendung geladen. Die Berechnung, die bestimmt, ob Transaktionen im April stattfanden, wird als Kennzahl in einem Diagrammobjekt der Anwendung 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
Um zu berechnen, ob eine Transaktion im April stattfand, erstellen Sie die folgende Kennzahl:
=inmonth(date,'04/01/2022', 0)
Ergebnisse
Funktionsbeispiele
date
=inmonth(date,'04/01/2022', 0)
1/10/2022
0
1/14/2022
0
1/20/2022
0
1/22/2022
0
2/1/2022
0
2/2/2022
0
2/20/2022
0
4/11/2022
-1
4/13/2022
-1
4/15/2022
-1
4/25/2022
-1
5/20/2022
0
5/22/2022
0
6/19/2022
0
6/22/2022
0
Beispiel 4 – Szenario
Übersicht
In diesem Beispiel wird ein Datensatz in eine Tabelle namens „Products“ geladen. Die Tabelle enthält die folgenden Felder:
Produkt-ID
Herstellungsdatum
Selbstkosten
Aufgrund eines Maschinenfehlers waren die im Monat Juli 2022 gefertigten Produkte mangelhaft. Das Problem wurde am 27. Juli 2022 behoben.
Der Endbenutzer möchte ein Diagramm haben, das nach Monat den Status der hergestellten Produkte angibt und zeigt, welche „mangelhaft“ (boolesch TRUE) und welche „einwandfrei“ (boolesch FALSE) waren und was die in diesem Monat gefertigten Produkte gekostet haben.
Die Funktion inmonth() gibt einen booleschen Wert zurück, wenn sie das Herstellungsdatum der einzelnen Produkte auswertet. Für alle im Juli 2022 hergestellten Produkte gibt die Funktion inmonth() einen booleschen Wert von TRUE zurück und markiert die Produkte als „Mangelhaft“. Alle Produkte, die einen Wert von FALSE zurückgeben und daher nicht im Juli gefertigt wurden, werden als „Einwandfrei“ markiert.
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!