Diese Funktion liefert den Zeitstempel der letzten Millisekunde des letzten Tags des Monats, in dem date liegt. Das Ergebnis wird entsprechend dem im Skript definierten DateFormat formatiert.
Syntax:
MonthEnd(date[, period_no])
Die Funktion monthend() legt also fest, in welchen Monat das Datum fällt. Sie gibt dann einen Zeitstempel im Datumsformat für die letzte Millisekunde dieses Monats zurück.
Verwendung
Die Funktion monthend() wird als Teil einer Formel verwendet, wenn in der Berechnung der Teil des Monats verwendet werden soll, der noch nicht eingetreten ist. Beispiel: Sie möchten die gesamten, während des Monats noch nicht fällig gewordenen Zinsen berechnen.
Rückgabe Datentyp: dual
Argumente
Argument
Beschreibung
date
Datum oder Zeitstempel für die Evaluierung.
period_no
period_no ist eine ganze Zahl, die beim Weglassen von 0 den Monat liefert, der 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.
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.
Funktionsbeispiele
Beispiel
Ergebnis
monthend('02/19/2012')
Gibt 02/29/2012 23:59:59 zurück.
monthend('02/19/2001', -1)
Gibt 01/31/2001 23:59:59 zurück.
Beispiel 1 – einfaches Beispiel
Übersicht
Öffnen Sie den Dateneditor und fügen Sie das Ladeskript unten in eine neue Registerkarte ein.
Das Ladeskript umfasst:
Datensatz mit einer Reihe von Transaktionen für 2022, der in eine Tabelle namens „Transactions“ geladen wird
Datumsfeld im Format MM/DD/YYYY der Systemvariablen DateFormat.
Ein vorangehender load-Befehl, der Folgendes enthält:
Die Funktion monthend(), die als Feld „end_of_month“ festgelegt ist.
Die Funktion timestamp, die als Feld „end_of_month_timestamp“ festgelegt ist.
Laden Sie die Daten und öffnen Sie ein Arbeitsblatt. Erstellen Sie eine neue Tabelle und fügen Sie die folgenden Felder als Dimensionen hinzu:
id
date
end_of_month
end_of_month_timestamp
Ergebnistabelle
id
date
end_of_month
end_of_month_timestamp
8188
1/7/2022
01/31/2022
1/31/2022 11:59:59 PM
8189
1/19/2022
01/31/2022
1/31/2022 11:59:59 PM
8190
2/5/2022
02/28/2022
2/28/2022 11:59:59 PM
8191
2/28/2022
02/28/2022
2/28/2022 11:59:59 PM
8192
3/16/2022
03/31/2022
3/31/2022 11:59:59 PM
8193
4/1/2022
04/30/2022
4/30/2022 11:59:59 PM
8194
5/7/2022
05/31/2022
5/31/2022 11:59:59 PM
8195
5/16/2022
05/31/2022
5/31/2022 11:59:59 PM
8196
6/15/2022
06/30/2022
6/30/2022 11:59:59 PM
8197
6/26/2022
06/30/2022
6/30/2022 11:59:59 PM
8198
7/9/2022
07/31/2022
7/31/2022 11:59:59 PM
8199
7/22/2022
07/31/2022
7/31/2022 11:59:59 PM
8200
7/23/2022
07/31/2022
7/31/2022 11:59:59 PM
8201
7/27/2022
07/31/2022
7/31/2022 11:59:59 PM
8202
8/2/2022
08/31/2022
8/31/2022 11:59:59 PM
8203
8/8/2022
08/31/2022
8/31/2022 11:59:59 PM
8204
8/19/2022
08/31/2022
8/31/2022 11:59:59 PM
8205
9/26/2022
09/30/2022
9/30/2022 11:59:59 PM
8206
10/14/2022
10/31/2022
10/31/2022 11:59:59 PM
8207
10/29/2022
10/31/2022
10/31/2022 11:59:59 PM
Das Feld „end_of_month“ wird in der vorangehenden load-Anweisung erstellt, indem die Funktion monthend() verwendet und das Datumsfeld als Argument der Funktion übergeben wird.
Die Funktion monthend() identifiziert, in welchen Monat der Datumswert fällt, und gibt einen Zeitstempel für die letzte Millisekunde dieses Monats zurück.
Transaktion 8192 fand am 16. März statt. Die Funktion monthend() gibt die letzte Millisekunde dieses Monats zurück, also den 31. März um 11:59:59 PM.
Beispiel 2 – period_no
Übersicht
Es werden derselbe Datensatz und dasselbe Szenario wie im ersten Beispiel verwendet.
In diesem Beispiel besteht die Aufgabe darin, ein Feld „previous_month_end“ zu erstellen, das den Zeitstempel für das Ende des Monats vor 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:
id
date
previous_month_end
previous_month_end_timestamp
Ergebnistabelle
id
date
previous_month_end
previous_month_end_timestamp
8188
1/7/2022
12/31/2021
12/31/2021 11:59:59 PM
8189
1/19/2022
12/31/2021
12/31/2021 11:59:59 PM
8190
2/5/2022
01/31/2022
1/31/2022 11:59:59 PM
8191
2/28/2022
01/31/2022
1/31/2022 11:59:59 PM
8192
3/16/2022
02/28/2022
2/28/2022 11:59:59 PM
8193
4/1/2022
03/31/2022
3/31/2022 11:59:59 PM
8194
5/7/2022
04/30/2022
4/30/2022 11:59:59 PM
8195
5/16/2022
04/30/2022
4/30/2022 11:59:59 PM
8196
6/15/2022
05/31/2022
5/31/2022 11:59:59 PM
8197
6/26/2022
05/31/2022
5/31/2022 11:59:59 PM
8198
7/9/2022
06/30/2022
6/30/2022 11:59:59 PM
8199
7/22/2022
06/30/2022
6/30/2022 11:59:59 PM
8200
7/23/2022
06/30/2022
6/30/2022 11:59:59 PM
8201
7/27/2022
06/30/2022
6/30/2022 11:59:59 PM
8202
8/2/2022
07/31/2022
7/31/2022 11:59:59 PM
8203
8/8/2022
07/31/2022
7/31/2022 11:59:59 PM
8204
8/19/2022
07/31/2022
7/31/2022 11:59:59 PM
8205
9/26/2022
08/31/2022
8/31/2022 11:59:59 PM
8206
10/14/2022
09/30/2022
9/30/2022 11:59:59 PM
8207
10/29/2022
09/30/2022
9/30/2022 11:59:59 PM
Die Funktion monthend() identifiziert zuerst den Monat, in dem die Transaktionen stattfanden, da eine period_no von -1 als Versatzargument verwendet wird. Dann geht sie einen Monat zurück und identifiziert die letzte Millisekunde dieses Monats.
Transaktion 8192 fand am 16. März statt. Die Funktion monthend() identifiziert, dass der Monat vor dem Transaktionsdatum der Februar war. Dann wird die letzte Millisekunde dieses Monats zurückgegeben, der 28. Februar um 11:59:59 PM.
Beispiel 3 – Diagrammbeispiel
Übersicht
Es werden derselbe Datensatz und dasselbe Szenario wie im ersten Beispiel verwendet.
In diesem Beispiel wird der unveränderte Datensatz in die App geladen. Die Aufgabe besteht im Erstellen einer Berechnung, die einen Zeitstempel für das Ende des Monats zurückgibt, in dem die Transaktionen stattfanden. Sie 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 die folgenden Felder als Dimensionen hinzu:
date
id
Um das Enddatum des Monats zu berechnen, in dem eine Transaktion stattfindet, erstellen Sie die folgenden Kennzahlen:
=monthend(date)
=timestamp(monthend(date))
Ergebnistabelle
id
date
=monthend(date)
=timestamp(monthend(date))
8188
10/14/2022
10/31/2022
10/31/2022 11:59:59 PM
8189
10/29/2022
10/31/2022
10/31/2022 11:59:59 PM
8190
9/26/2022
09/30/2022
9/30/2022 11:59:59 PM
8191
8/2/2022
08/31/2022
8/31/2022 11:59:59 PM
8192
8/8/2022
08/31/2022
8/31/2022 11:59:59 PM
8193
8/19/2022
08/31/2022
8/31/2022 11:59:59 PM
8194
7/9/2022
07/31/2022
7/31/2022 11:59:59 PM
8195
7/22/2022
07/31/2022
7/31/2022 11:59:59 PM
8196
7/23/2022
07/31/2022
7/31/2022 11:59:59 PM
8197
7/27/2022
07/31/2022
7/31/2022 11:59:59 PM
8198
6/15/2022
06/30/2022
6/30/2022 11:59:59 PM
8199
6/26/2022
06/30/2022
6/30/2022 11:59:59 PM
8200
5/7/2022
05/31/2022
5/31/2022 11:59:59 PM
8201
5/16/2022
05/31/2022
5/31/2022 11:59:59 PM
8202
4/1/2022
04/30/2022
4/30/2022 11:59:59 PM
8203
3/16/2022
03/31/2022
3/31/2022 11:59:59 PM
8204
2/5/2022
02/28/2022
2/28/2022 11:59:59 PM
8205
2/28/2022
02/28/2022
2/28/2022 11:59:59 PM
8206
1/7/2022
01/31/2022
1/31/2022 11:59:59 PM
8207
1/19/2022
01/31/2022
1/31/2022 11:59:59 PM
Die Kennzahl „end_of_month“ wird im Diagramm erstellt, indem die Funktion monthend() verwendet und das Datumsfeld als Argument der Funktion übergeben wird.
Die Funktion monthend() identifiziert, in welchen Monat der Datumswert fällt, und gibt einen Zeitstempel für die letzte Millisekunde dieses Monats zurück.
Transaktion 8192 fand am 16. März statt. Die Funktion monthend() gibt die letzte Millisekunde dieses Monats zurück, also den 31. März um 11:59:59 PM.
Beispiel 4 – Szenario
Übersicht
In diesem Beispiel wird ein Datensatz in eine Tabelle namens „Employee_Expenses“ geladen. Die Tabelle enthält die folgenden Felder:
Mitarbeiter-IDs
Mitarbeiternamen
Die durchschnittlichen täglichen Spesenanträge pro Mitarbeiter.
Der Endbenutzer möchte ein Diagramm, das nach Mitarbeiter-ID und Mitarbeiternamen die geschätzten Spesenanträge anzeigt, die für den restlichen Monat noch anfallen.
Die Funktion monthend() gibt das Enddatum des aktuellen Monats zurück, indem das aktuelle Datum als einziges Argument verwendet wird. Die Formel gibt die Anzahl der im Monat verbleibenden Tage zurück, indem das aktuelle Datum vom Monatsenddatum abgezogen wird.
Dieser Wert wird dann mit den durchschnittlichen täglichen Spesenanträgen der einzelnen Mitarbeitern multipliziert, um den geschätzten Spesenbetrag pro Mitarbeiter für den verbleibende Monat zu berechnen.
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!