# monthend Script- en diagramfunctie

Deze functie retourneert een waarde die overeenkomt met een tijdstempel van de laatste milliseconde van de laatste dag van de maand die `date` bevat. De standaarduitvoernotatie is de `DateFormat` die is ingesteld in het script.

MonthEnd(date[, period\_no])

Met andere woorden, de functie `monthend()` bepaalt in welke maand de datum valt. Hij retourneert vervolgens een tijdstempel, in datumnotatie, voor de laatste milliseconde van die maand.

Diagram van `monthend`-functie.

Diagram van `monthend`-functie.

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

Wanneer gebruiken

De functie `monthend()` wordt gebruikt als onderdeel van een uitdrukking als u wilt dat in de berekening een deel van de maand wordt gebruikt dat nog niet heeft plaatsgevonden. Bijvoorbeeld als u de totale rente wilt berekenen die nog niet is berekend gedurende de maand.

Retourgegevenstypen: Dual

Argumenten

| Argument | Beschrijving |
| --- | --- |
| date | De te evalueren datum of tijdstempel. |
| period\_no | period\_no is een geheel getal dat, indien het 0 is of wordt weggelaten, de maand aangeeft die date bevat. Negatieve waarden in period\_no geven voorafgaande maanden aan en positieve waarden geven volgende maanden aan. |

## Landinstellingen

Tenzij anders aangegeven, wordt in de voorbeelden in dit onderwerp de volgende datumindeling gebruikt: MM/DD/YYYY. De datumopmaak wordt opgegeven in de opdracht `SET DateFormat` in uw script voor het laden van gegevens. De standaard datumindeling is mogelijk anders op uw systeem vanwege landinstellingen en andere factoren. U kunt de indelingen in de voorbeelden wijzigen zodat deze aansluiten op uw behoeften. Of u kunt de indelingen in uw load-script wijzigen zodat ze overeenkomen met deze voorbeelden.

Standaard landinstellingen in toepassingen zijn gebaseerd op de regionale systeeminstellingen van de computer of server waarop Qlik Sense is geïnstalleerd. Als de Qlik Sense-server die u gebruikt is ingesteld op Zweden, gebruikt de editor voor laden van gegevens de Zweedse landinstellingen voor datums, tijd en valuta. Deze landinstellingen voor indelingen zijn niet gerelateerd aan de taal die wordt weergegeven in de Qlik Sense gebruikersinterface. Qlik Sense wordt weergegeven in dezelfde taal als de browser die u gebruikt.

Voorbeelden van functies

| Voorbeeld | Resultaat |
| --- | --- |
| `monthend('02/19/2012')` | Retourneert 02/29/2012 23:59:59. |
| `monthend('02/19/2001', -1)` | Retourneert 01/31/2001 23:59:59. |

## Voorbeeld 1 – Basisvoorbeeld

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

#### Load-script en resultaten

Overzicht

Open de editor voor laden van gegevens en voeg het onderstaande load-script toe aan een nieuwe sectie.

Het load-script bevat:

* Een gegevensset met een reeks transacties voor 2022 die wordt geladen in een tabel met de naam ‘`Transactions`’.

* Een datumveld dat wordt weergegeven in de `DateFormat`-systeemvariabele met de notatie `MM/DD/YYYY`.

* Een voorgaande load-instructie met:

  * De `monthend()`-functie die is ingesteld als het veld ‘`end_of_month`’.

  * De `timestamp`-functie die is ingesteld als het veld ‘`end_of_month_timestamp`’.

Load-script

```
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 
]; 
```

Resultaten

Laad de gegevens en open een werkblad. Maak een nieuwe tabel en voeg deze velden toe als dimensies:

* `id`
* `date`
* `end_of_month`
* `end_of_month_timestamp`

Resultatentabel

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

Het veld '`end_of_month`' wordt gemaakt in de voorafgaande load-instructie met behulp van de functie `monthend()` en geeft het datumveld door als het argument van de functie.

De functie `monthend()` identificeert in welke maand de datumwaarde valt en retourneert een tijdstempel voor de laatste milliseconde van die maand.

Diagram van de `monthend`-functie waarbij maart de geselecteerde maand is.

Diagram van de `monthend`-functie waarbij maart de geselecteerde maand is.

Diagram van de `monthend`monthend-functie waarbij maart de geselecteerde maand is. ![Diagram showing how monthend function can be used to identify the latest timestamp of a chosen month.](https://help.qlik.com/nl-NL/sense/May2026/Subsystems/Hub/Content/Resources/Images/scripting-functions-monthend-example1-diagram.png)

Transactie 8192 vond plaats op 16 maart. De functie `monthend()` retourneert de laatste milliseconde van die maand, namelijk 31 maart om 11:59:59 PM.

## Voorbeeld 2 – period\_no

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

#### Load-script en resultaten

Overzicht

Dezelfde gegevensverzameling en het scenario uit het eerste voorbeeld worden gebruikt.

In dit voorbeeld wordt een veld gemaakt, `previous_month_end`, dat de tijdstempel voor het eind van de maand retourneert voordat de transactie plaatsvond.

Load-script

```
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 
]; 
```

Resultaten

Laad de gegevens en open een werkblad. Maak een nieuwe tabel en voeg deze velden toe als dimensies:

* `id`
* `date`
* `previous_month_end`
* `previous_month_end_timestamp`

Resultatentabel

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

De `monthend()`functie identificeert eerst de maand waarin de transacties plaatsvinden omdat een`period_no` van `-1` wordt gebruikt als het offset-argument. Het verschuift dan naar een maand eerder en identificeert de laatste milliseconde van die maand.

Diagram van functie `monthend` met de variabele period\_no.

Diagram van functie `monthend` met de variabele period\_no.

Diagram van functie `monthend`monthend met de variabele 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/nl-NL/sense/May2026/Subsystems/Hub/Content/Resources/Images/scripting-functions-monthend-example2-diagram.png)

Transactie 8192 vond plaats op 16 maart. De `monthend()`-functie stelt vast dat de maand voor de transactie februari was. Vervolgens wordt de laatste milliseconde van die maand geretourneerd: 28 februari om 11:59:59 PM.

## Voorbeeld 3 – Diagramvoorbeeld

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

#### Load-script en diagramuitdrukking

Overzicht

Dezelfde gegevensverzameling en het scenario uit het eerste voorbeeld worden gebruikt.

In dit voorbeeld is de gegevensverzameling ongewijzigd en geladen in de applicatie. De taak is om een berekening te maken die een tijdstempel retourneert voor het einde van de maand waarin de transacties plaatsvonden als een meting in een diagram van de applicatie.

Load-script

```
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 
]; 
```

Resultaten

Laad de gegevens en open een werkblad. Maak een nieuwe tabel en voeg deze velden toe als dimensies:

* `date`

* `id`

Maak de volgende metingen om de einddatum van de maand waarin een transactie plaatsvindt te berekenen:

* `=monthend(date)`
* `=timestamp(monthend(date))`

Resultatentabel

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

De meting `end_of_month` wordt gemaakt in het diagram met behulp van de functie `monthend()` en geeft het veld door als het argument van de functie.

De functie `monthend()` identificeert in welke maand de datumwaarde valt en retourneert een tijdstempel voor de laatste milliseconde van die maand.

Diagram van functie `monthend` met de variabele period\_no.

Diagram van functie `monthend` met de variabele period\_no.

Diagram van functie `monthend`monthend met de variabele period\_no. ![](https://help.qlik.com/nl-NL/sense/May2026/Subsystems/Hub/Content/Resources/Images/scripting-functions-monthend-example3-diagram.png)

Transactie 8192 vond plaats op 16 maart. De functie `monthend()` retourneert de laatste milliseconde van die maand, namelijk 31 maart om 11:59:59 PM.

## Voorbeeld 4 – Scenario

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

#### Load-script en resultaten

Overzicht

In dit voorbeeld wordt een gegevensset geladen in de tabel ‘`Employee_Expenses`’. De tabel bevat de volgende velden:

* Werknemers-id's

* Werknemersnamen

* De gemiddelde dagelijkse onkostendeclaraties van elke werknemer.

De eindgebruiker wil graag een diagram dat per werknemer-id en werknemersnaam de geschatte onkostendeclaraties voor de rest van de maand weergeeft.

Load-script

```
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 
]; 
```

Resultaten

Laad de gegevens en open een werkblad. Maak een nieuwe tabel en voeg deze velden toe als dimensies:

* `employee_id`
* `employee_name`

Maak deze meting om de opgebouwde rente te berekenen:

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

InformatieDeze meting is dynamisch en produceert verschillende tabelresultaten, afhankelijk van de datum waarop u de gegevens laadt.

Stel de Getalnotatie van de meting in op Geld.

Resultatentabel

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

De `monthend()`-functie retourneert de einddatum van de huidige maand door de datum van vandaag als het enige argument te gebruiken. Door vervolgens de datum van vandaag af te trekken van de einddatum van de maand, retourneert de uitdrukking het aantal resterende dagen in deze maand.

Deze waarde wordt vervolgens vermenigvuldigd met de gemiddelde dagelijkse onkostendeclaratie van elke werknemer om de geschatte waarde te berekenen van de declaraties die elke werknemer naar verwachting in de resterende maand zal indienen.