# monthend Skript- och diagramfunktion

Denna funktion returnerar ett värde som motsvarar en tidsmarkör med den sista millisekunden av den sista dagen i den månad som innehåller `date`. Det förvalda utdataformatet blir det `DateFormat` som har definierats i skriptet.

MonthEnd(date[, period\_no])

Med andra ord bestämmer `monthend()`-funktionen vilket år datumet infaller. Den returnerar sedan en tidsmarkör, i datumformat, för den sista millisekunden av den månaden.

Diagram för `monthend`-funktionen.

Diagram för `monthend`-funktionen.

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

Användning

`monthend()`-funktionen används som en del av ett uttryck när du vill att beräkningen ska använda den del av månaden som ännu inte har inträffat. Till exempel om du vill beräkna den totala ränta som ännu inte uppkommit under månaden.

Returnerad datatyp: Dual

Argument

| Argument | Beskrivning |
| --- | --- |
| date | Det datum eller den tidsmarkör som ska utvärderas. |
| period\_no | period\_no är ett heltal som om det är 0 eller utelämnas anger månaden som innehåller date. Negativa värden i period\_no anger föregående månader och positiva värden anger efterföljande månader. |

## Lokala inställningar

Om inget annat anges använder exemplen i detta ämne följande datumformat: MM/DD/YYYY. Datumformatet anges i `SET DateFormat`-satsen i datainläsningsskriptet. Förvald datumformatering kan vara annorlunda i ditt system, på grund av dina regionala inställningar och andra faktorer. Du kan ändra formaten i exemplen nedan så att det passar dina krav. Eller så kan du ändra formaten i ditt laddningsskript så att de matchar dessa exempel.

Standardregionalinställningar i program baseras på de regionala systeminställningarna för datorn eller servern där Qlik Sense är installerad. Om Qlik Senseservern du ansluter till är inställd på Sverige så kommer Dataladdningsredigeraren att använda svenska regionala inställningar för datum, tid och valuta. Dessa regionala formatinställningar är inte relaterade till språket som visas i Qlik Sense användargränssnittet. Qlik Sense kommer att visas på samma språk som webbläsaren du använder.

Exempel på funktioner

| Exempel | Resultat |
| --- | --- |
| `monthend('02/19/2012')` | Returnerar 02/29/2012 23:59:59. |
| `monthend('02/19/2001', -1)` | Returnerar 01/31/2001 23:59:59. |

## Exempel 1 – Grundläggande exempel

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

#### Ladda skript och resultat

Översikt

Öppna dataladdningsredigeraren och lägg till laddningsskriptet nedan i ett nytt delavsnitt.

Laddningsskriptet innehåller:

* En datauppsättning som innehåller en uppsättning transaktioner för 2022 som läses in i en tabell som heter ”`Transactions`”.

* Ett datumfält i systemvariabeln `DateFormat` i formatet (`MM/DD/YYYY`).

* En föregående LOAD-sats som innehåller:

  * `monthend()`-funktionen som är inställt som ‘`end_of_month`’ fältet.

  * `timestamp`-funktionen som är inställt som ‘`end_of_month_timestamp`’ fältet.

Laddningsskript

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

Resultat

Ladda data och öppna ett ark. Skapa en ny tabell och lägg till dessa fält som dimensioner:

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

Resultattabell

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

‘`end_of_month`’-fältet skapas i den föregående load-satsen genom att använda `monthend()`-funktionen och skicka datumfältet som funktionens argument.

`monthend()`-funktionen identifierar vilken månad datumvärdet infaller och returnerar en tidsmarkör för den sista millisekunden av den månaden.

Diagram för `monthend`-funktionen med mars som vald månad.

Diagram för `monthend`-funktionen med mars som vald månad.

Diagram för `monthend`monthend-funktionen med mars som vald månad. ![Diagram showing how monthend function can be used to identify the latest timestamp of a chosen month.](https://help.qlik.com/sv-SE/sense/May2026/Subsystems/Hub/Content/Resources/Images/scripting-functions-monthend-example1-diagram.png)

Transaktion 8192 ägde rum den 16 mars. `monthend()`-funktionen returnerar den sista millisekunden i den månaden, vilket är den 31 mars 23:59:59.

## Exampel 2 – period\_no

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

#### Ladda skript och resultat

Översikt

Samma datauppsättning och scenario som det första exemplet används.

I det här exemplet är uppgiften att skapa ett fält, `previous_month_end`, som returnerar tidsmarkören för månadsslutet innan transaktionen ägde rum.

Laddningsskript

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

Resultat

Ladda data och öppna ett ark. Skapa en ny tabell och lägg till dessa fält som dimensioner:

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

Resultattabell

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

Funktionen `monthend()` identifierar först den månad då transaktionerna äger rum eftersom ett `period_no` på `-1` används som förskjutningsargument. Den skiftar sedan till närmast föregående månad och identifierar den sista millisekunden i den månaden.

Diagram för `monthend`-funktionen med variabeln period\_no.

Diagram för `monthend`-funktionen med variabeln period\_no.

Diagram för `monthend`monthend-funktionen med variabeln 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/sv-SE/sense/May2026/Subsystems/Hub/Content/Resources/Images/scripting-functions-monthend-example2-diagram.png)

Transaktion 8192 ägde rum den 16 mars. `monthend()`-funktionen identifierar att månaden innan transaktionen ägde rum var februari. Den returnerar sedan den sista millisekunden den månaden, 28 februari 23:59:59.

## Exampel 3 – Diagramexempel

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

#### Laddningsskript och diagramuttryck

Översikt

Samma datauppsättning och scenario som det första exemplet används.

I det här exemplet är datauppsättningen oförändrad och har lästs in i applikationen. Uppgiften är att skapa en beräkning som returnerar en tidsmarkör för slutet av månaden då transaktionerna ägde rum som ett mått i ett diagram för applikationen.

Laddningsskript

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

Resultat

Ladda data och öppna ett ark. Skapa en ny tabell och lägg till dessa fält som dimensioner:

* `date`

* `id`

För att beräkna slutdatum för den månad då en transaktion äger rum skapar du följande mått:

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

Resultattabell

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

`end_of_month`-måttet skapades i diagrammet genom att använda `monthend()`-funktionen och skicka datumfältet som funktionens argument.

`monthend()`-funktionen identifierar vilken månad datumvärdet infaller och returnerar en tidsmarkör för den sista millisekunden av den månaden.

Diagram för `monthend`-funktionen med variabeln period\_no.

Diagram för `monthend`-funktionen med variabeln period\_no.

Diagram för `monthend`monthend-funktionen med variabeln period\_no. ![](https://help.qlik.com/sv-SE/sense/May2026/Subsystems/Hub/Content/Resources/Images/scripting-functions-monthend-example3-diagram.png)

Transaktion 8192 ägde rum den 16 mars. `monthend()`-funktionen returnerar den sista millisekunden i den månaden, vilket är den 31 mars 23:59:59.

## Exempel 4 – Scenario

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

#### Laddningsskript och resultat

Översikt

I det här exemplet laddas en datauppsättning i en tabell som heter `Employee_Expenses`. Tabellen innehåller följande fält:

* Anställnings-ID

* Anställdas namn

* Genomsnittliga dagliga kostnadsanspråk för varje anställd.

Slutanvändaren vill ha ett diagram som visar, efter anställnings-id och anställds namn, de beräknade kostnadsanspråken för resten av månaden.

Laddningsskript

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

Resultat

Ladda data och öppna ett ark. Skapa en ny tabell och lägg till dessa fält som dimensioner:

* `employee_id`
* `employee_name`

För att beräkna ackumulerad ränta skapar du detta mått:

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

Anteckning om informationDet här måttet är dynamiskt och kommer att ge olika tabellresultat beroende på vilket datum du laddar uppgifterna.

Ange måttens Nummerformatering till Pengar.

Resultattabell

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

`monthend()`-funktionen returnerar slutdatumet för den aktuella månaden genom att använda dagens datum som sitt enda argument. Uttrycket returnerar antalet dagar som återstår denna månad genom att subtrahera dagens datum från månadens slutdatum.

Detta värde multipliceras sedan med det genomsnittliga dagliga kostnadsanspråket från varje anställd för att beräkna det uppskattade värdet av anspråk som varje anställd förväntas göra under den återstående månaden.