# monthend Skript- und Diagrammfunktion

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.

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.

Diagramm der `monthend` Funktion.

Diagramm der `monthend` Funktion.

Diagramm der `monthend`monthend Funktion. ![Diagram showing how monthend function can be used to identify the latest timestamp of a chosen month.](https://help.qlik.com/de-DE/sense/May2026/Subsystems/Hub/Content/Resources/Images/scripting-functions-monthend-diagram1.png)

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.

Standardmäßige regionale Einstellungen in Anwendungen basieren auf den regionalen Systemeinstellungen des Computers oder Servers, auf dem 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-, Zeit- und Währungsangaben. Diese regionalen Formateinstellungen hängen nicht mit der Sprache zusammen, die in der Qlik Sense Benutzeroberfläche angezeigt wird. Qlik Sense wird in derselben Sprache angezeigt wie der von Ihnen verwendete Browser.

Funktionsbeispiele

| Beispiel | Ergebnis |
| --- | --- |
| `monthend('02/19/2012')` | Gibt 02/29/2012 23:59:59 zurück. |
| `monthend('02/19/2001', -1)` | Liefert 01/31/2001 23:59:59. |

## Beispiel 1 – einfaches Beispiel

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/monthend.htm)

#### Ladeskript und Ergebnisse

Übersicht

Öffnen Sie den Dateneditor und fügen Sie das Ladeskript unten in einen neuen Abschnitt ein.

Das Ladeskript umfasst:

* Ein Datensatz mit einer Reihe von Transaktionen für 2022, der in eine Tabelle namens „`Transactions`“ geladen wird.

* Datumsfeld im Format `DateFormat` der Systemvariablen (`MM/DD/YYYY`).

* Ein vorangehender load-Befehl, der Folgendes enthält:

  * Die `monthend()` Funktion, die als das „`end_of_month`“-Feld festgelegt ist.

  * Die `timestamp` Funktion, die als das „`end_of_month_timestamp`“-Feld festgelegt ist.

Ladeskript

```
SET DateFormat='MM/DD/YYYY'; 

Transactions: 
    Load 
    *, 
    monthend(date) as end_of_month, 
    timestamp(monthend(date)) as end_of_month_timestamp 
    ; 
Load 
* 
Inline  
[ 
id,date,amount 
8188,1/7/2022,17.17 
8189,1/19/2022,37.23 
8190,2/28/2022,88.27 
8191,2/5/2022,57.42 
8192,3/16/2022,53.80 
8193,4/1/2022,82.06 
8194,5/7/2022,40.39 
8195,5/16/2022,87.21 
8196,6/15/2022,95.93 
8197,6/26/2022,45.89 
8198,7/9/2022,36.23 
8199,7/22/2022,25.66 
8200,7/23/2022,82.77 
8201,7/27/2022,69.98 
8202,8/2/2022,76.11 
8203,8/8/2022,25.12 
8204,8/19/2022,46.23 
8205,9/26/2022,84.21 
8206,10/14/2022,96.24 
8207,10/29/2022,67.67 
]; 
```

Ergebnisse

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 | Datum | 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 im vorangehenden load-Befehl 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.

Diagramm der Funktion `monthend` mit März als ausgewähltem Monat.

Diagramm der Funktion `monthend` mit März als ausgewähltem Monat.

Diagramm der Funktion `monthend`monthend mit März als ausgewähltem Monat. ![Diagram showing how monthend function can be used to identify the latest timestamp of a chosen month.](https://help.qlik.com/de-DE/sense/May2026/Subsystems/Hub/Content/Resources/Images/scripting-functions-monthend-example1-diagram.png)

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

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/monthend.htm)

#### Ladeskript und Ergebnisse

Übersicht

Es werden derselbe Datenatz 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.

Ladeskript

```
SET DateFormat='MM/DD/YYYY'; 
						
Transactions: 
    Load 
    *, 
    monthend(date,-1) as previous_month_end, 
    timestamp(monthend(date,-1)) as previous_month_end_timestamp 
    ; 
Load 
* 
Inline  
[ 
id,date,amount 
8188,1/7/2022,17.17 
8189,1/19/2022,37.23 
8190,2/28/2022,88.27 
8191,2/5/2022,57.42 
8192,3/16/2022,53.80 
8193,4/1/2022,82.06 
8194,5/7/2022,40.39 
8195,5/16/2022,87.21 
8196,6/15/2022,95.93 
8197,6/26/2022,45.89 
8198,7/9/2022,36.23 
8199,7/22/2022,25.66 
8200,7/23/2022,82.77
8201,7/27/2022,69.98 
8202,8/2/2022,76.11 
8203,8/8/2022,25.12 
8204,8/19/2022,46.23 
8205,9/26/2022,84.21 
8206,10/14/2022,96.24 
8207,10/29/2022,67.67 
]; 
```

Ergebnisse

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 | Datum | 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 `monthend()`Funktion identifiziert zuerst den Monat, in dem die Transaktionen stattfinden, da ein`period_no` von `-1` als Versatzargument verwendet wird. Dann geht sie einen Monat zurück und identifiziert die letzte Millisekunde dieses Monats.

Diagramm der Funktion `monthend` mit der Variablen „period\_no“.

Diagramm der Funktion `monthend` mit der Variablen „period\_no“.

Diagramm der Funktion `monthend`monthend mit der Variablen „period\_no“. ![Diagram showing how monthend function can be used with the period_no variable to identify the latest timestamp the month before the one set in the monthend() function.](https://help.qlik.com/de-DE/sense/May2026/Subsystems/Hub/Content/Resources/Images/scripting-functions-monthend-example2-diagram.png)

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

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/monthend.htm)

#### Ladeskript und Diagrammformel

Übersicht

Es werden derselbe Datenatz und dasselbe Szenario wie im ersten Beispiel verwendet.

In diesem Beispiel wird der unveränderte Datensatz in die Anwendung 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 Diagramm der Anwendung erstellt.

Ladeskript

```
Transactions: 
Load 
* 
Inline  
[ 
id,date,amount 
8188,1/7/2022,17.17 
8189,1/19/2022,37.23 
8190,2/28/2022,88.27 
8191,2/5/2022,57.42 
8192,3/16/2022,53.80 
8193,4/1/2022,82.06 
8194,5/7/2022,40.39 
8195,5/16/2022,87.21 
8196,6/15/2022,95.93 
8197,6/26/2022,45.89 
8198,7/9/2022,36.23 
8199,7/22/2022,25.66 
8200,7/23/2022,82.77 
8201,7/27/2022,69.98 
8202,8/2/2022,76.11 
8203,8/8/2022,25.12 
8204,8/19/2022,46.23 
8205,9/26/2022,84.21 
8206,10/14/2022,96.24 
8207,10/29/2022,67.67 
]; 
```

Ergebnisse

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 | Datum | =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.

Diagramm der Funktion `monthend` mit der Variablen „period\_no“.

Diagramm der Funktion `monthend` mit der Variablen „period\_no“.

Diagramm der Funktion `monthend`monthend mit der Variablen „period\_no“. ![](https://help.qlik.com/de-DE/sense/May2026/Subsystems/Hub/Content/Resources/Images/scripting-functions-monthend-example3-diagram.png)

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

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/monthend.htm)

#### Ladeskript und Ergebnisse

Ü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.

Ladeskript

```
Employee_Expenses: 
Load 
* 
Inline  
[ 
employee_id,employee_name,avg_daily_claim 
182,Mark, $15 
183,Deryck, $12.5  
184,Dexter, $12.5 
185,Sydney,$27 
186,Agatha,$18 
]; 
```

Ergebnisse

Laden Sie die Daten und öffnen Sie ein Arbeitsblatt. Erstellen Sie eine neue Tabelle und fügen Sie die folgenden Felder als Dimensionen hinzu:

* `employee_id`
* `employee_name`

Erstellen Sie die folgende Kennzahl, um die kumulierten Zinsen zu berechnen:

`=floor(monthend(today(1),0)-today(1))*avg_daily_claim`

InformationshinweisDiese Kennzahl ist dynamisch und ergibt unterschiedliche Tabellenergebnisse, je nach dem Datum, an dem Sie die Daten laden.

Legen Sie die Zahlenformatierung der Kennzahl auf Währung fest.

Ergebnistabelle

| employee\_id | employee\_name | =floor(monthend(today(1),0)-today(1))\*avg\_daily\_claim |
| --- | --- | --- |
| 182 | Mark | $30.00 |
| 183 | Deryck | $25.00 |
| 184 | Dexter | $25.00 |
| 185 | Sydney | $54.00 |
| 186 | Agatha | $36.00 |

Die `monthend()`Funktion gibt das Enddatum des aktuellen Monats zurück, indem sie das aktuelle Datum als einziges Argument verwendet. 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.