# inmonthtodate Skript- och diagramfunktion

Returnerar True om date ligger inom den del av månaden som innehåller basedate fram till och inklusive den sista millisekunden av basedate.

Syntax:

InMonthToDate (timestamp, base\_date, period\_no)

Returnerad datatyp: Booleansk

Diagram för `inmonthtodate`-funktionen.

Diagram för `inmonthtodate`-funktionen.

Diagram för `inmonthtodate`inmonthtodate-funktionen. ![Diagram som visar hur inmonthtodate-funktionen kan användas för att identifera om en tidsmarkör ligger inom eller utanför en inställd månad.](https://help.qlik.com/sv-SE/cloud-services/Subsystems/Hub/Content/Resources/Images/scripting-functions-inmonthtodate-diagram1.png)

`inmonthtodate()`-funktionen identifierar en vald månad som ett segment. Startgränsen är månadens början. Slutgränsen kan ställas in till ett senare datum i månaden. Funktionen fastställer sedan huruvida en uppsättning datum ligger inom det här segmentet eller inte och returnerar det booleska värdet TRUE eller FALSE.

Argument

| Argument | Beskrivning |
| --- | --- |
| timestamp | Det datum du vill jämföra mot base\_date. |
| base\_date | Datum som används för att utvärdera månaden. |
| period\_no | Månadens startpunkt kan flyttas med period\_no. period\_no är ett heltal där värdet 0 anger den månad som innehåller base\_date. Negativa värden i period\_no anger föregående månader och positiva värden anger efterföljande månader. |

När ska du använda inmonthtodate

Funktionen `inmonthtodate()` returnerar ett booleskt resultat. Vanligtvis används denna typ av funktion som ett villkor i en `if expression`. `inmonthtodate()`-funktionen returnerar en aggregering eller beräkning som beror på om ett datum inträffade under månaden fram till och inklusive det aktuella datumet.

Till exempel kan `inmonthtodate()`-funktionen användas för att identifiera all utrustning som tillverkats under en månad fram till ett specifikt datum.

## 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. Mer information finns i [Ändra regioninställningar för applikationer och skript](https://help.qlik.com/sv-SE/cloud-services/Subsystems/Hub/Content/Sense_Hub/Apps/regional-settings-in-apps.htm).

Standardinställningar för region i applikationer baseras på användarprofilen. Dessa regionala formatinställningar är inte relaterade till språket som visas i Qlik Cloud användargränssnittet. Qlik Cloud kommer att visas på samma språk som webbläsaren du använder.

Om du är en applikationsskapare kan du ange standardregionen för applikationer du skapar. Mer information finns i [Ställa in önskade regioninställningar för att skapa appar och skript i Qlik Cloud-analys](https://help.qlik.com/sv-SE/cloud-services/Subsystems/Hub/Content/Sense_Hub/UserInterface/Languages.htm#Setting).

Exempel på funktioner

| Exempel | Resultat |
| --- | --- |
| `inmonthtodate ('01/25/2013', '25/01/2013',<br>0)` | Returnerar True |
| `inmonthtodate ('01/25/2013', '24/01/2013',<br>0)` | Returnerar False |
| `inmonthtodate ('01/25/2013', '28/02/2013',<br>-1)` | Returnerar True |

## Exempel 1 – inga ytterligare argument

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

#### Laddningsskript 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 laddas i en tabell som heter `Transactions`.

* Ett datumfält som anges i `DateFormat`-systemvariabeln i formatet `MM/DD/YYYY`.

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

  * `inmonthtodate()`-funktionen som är inställd som `in_month_to_date`-fält. Detta avgör vilka transaktioner som ägde rum mellan 1 juli och 26 juli 2022.

Laddningsskript

```
SET DateFormat='MM/DD/YYYY'; 
						
Transactions: 
    Load 
    *, 
    inmonthtodate(date,'07/26/2022', 0) as in_month_to_date 
    ; 
Load 
* 
Inline  
[ 
id,date,amount 
8188,'1/19/2022',37.23 
8189,'1/7/2022',17.17 
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`
* `in_month_to_date`

Resultattabell

| datum | in\_month\_to\_date |
| --- | --- |
| 1/7/2022 | 0 |
| 1/19/2022 | 0 |
| 2/5/2022 | 0 |
| 2/28/2022 | 0 |
| 3/16/2022 | 0 |
| 4/1/2022 | 0 |
| 5/7/2022 | 0 |
| 5/16/2022 | 0 |
| 6/15/2022 | 0 |
| 6/26/2022 | 0 |
| 7/9/2022 | -1 |
| 7/22/2022 | -1 |
| 7/23/2022 | -1 |
| 7/27/2022 | 0 |
| 8/2/2022 | 0 |
| 8/8/2022 | 0 |
| 8/19/2022 | 0 |
| 9/26/2022 | 0 |
| 10/14/2022 | 0 |
| 10/29/2022 | 0 |

`in_month_to_date`-fältet skapas i föregående LOAD-sats med hjälp av `inmonthtodate()`-funktionen.

Det första argumentet anger vilket fält som utvärderas. Det andra argumentet är ett hårdkodat datum, 26 juli, som är `base_date`. Det här `base_date`-argumentet identifierar vilken månad som är segmenterad och slutgränsen för det segmentet.

Ett `period_no` på `0` är det sista argumentet, vilket betyder att funktionen inte jämför månaderna före eller efter den segmenterade månaden.

Diagram för `inmonthtodate`-funktionen utan ytterligare argument

Diagram för `inmonthtodate`-funktionen utan ytterligare argument

Diagram för `inmonthtodate`inmonthtodate-funktionen utan ytterligare argument ![Diagram som visar det transaktionsintervall som identifierats som TRUE av inmonthtodate-funktionen.](https://help.qlik.com/sv-SE/cloud-services/Subsystems/Hub/Content/Resources/Images/scripting-functions-inmonthtodate-example1-diagram.png)

Som följd returnerar alla transaktioner som sker mellan 1 juli och 26 juli det booleska resultatet TRUE. Alla transaktioner som inträffar i juli efter 26 juli returnerar det booleska resultatet FALSE, liksom alla transaktioner under någon annan månad under året.

## Exampel 2 – period\_no

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

#### Laddningsskript 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, `six_months_prior`, som avgör vilka transaktioner som ägde rum sex hela månader före 1 juli och 26 juli.

Laddningsskript

```
SET DateFormat='MM/DD/YYYY'; 
						
Transactions: 
    Load 
    *, 
    inmonthtodate(date,'07/26/2022', -6) as six_months_prior 
    ; 
Load 
* 
Inline  
[ 
id,date,amount 
8188,'1/19/2022',37.23 
8189,'1/7/2022',17.17 
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`

* `six_months_prior`

Resultattabell

| datum | six\_months\_prior |
| --- | --- |
| 1/7/2022 | -1 |
| 1/19/2022 | -1 |
| 2/5/2022 | 0 |
| 2/28/2022 | 0 |
| 3/16/2022 | 0 |
| 4/1/2022 | 0 |
| 5/7/2022 | 0 |
| 5/16/2022 | 0 |
| 6/15/2022 | 0 |
| 6/26/2022 | 0 |
| 7/9/2022 | 0 |
| 7/22/2022 | 0 |
| 7/23/2022 | 0 |
| 7/27/2022 | 0 |
| 8/2/2022 | 0 |
| 8/8/2022 | 0 |
| 8/19/2022 | 0 |
| 9/26/2022 | 0 |
| 10/14/2022 | 0 |
| 10/29/2022 | 0 |

Genom att använda `-6` som `period_no`-argument i `inmonthtodate()`-funktionen skiftar funktionerna gränserna för segmentet i jämförelsemånaden med sex månader. Initialt är månadssegmentet mellan 1 juli och 26 juli. `period_no` förskjuter sedan detta segment sex månader bakåt och datumgränserna skiftas och ligger mellan 1 januari och 26 januari.

Diagram för `inmonthtodate`-funktionen med period\_no inställt till -6.

Diagram för `inmonthtodate`-funktionen med period\_no inställt till -6.

Diagram för `inmonthtodate`inmonthtodate-funktionen med period\_no inställt till -6. ![Diagram som visar transaktionsintervallet med period_no inställt till -6.](https://help.qlik.com/sv-SE/cloud-services/Subsystems/Hub/Content/Resources/Images/scripting-functions-inmonthtodate-example2-diagram.png)

Som följd returnerar alla transaktioner som sker mellan 1 januari och 26 januari det booleska resultatet TRUE.

## Exampel 3 – Diagramexempel

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

#### uttryck

Ö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 avgör om transaktioner har skett mellan 1 juli och 26 juli som ett mått i ett diagramobjekt i applikationen.

Laddningsskript

```
SET DateFormat='MM/DD/YYYY'; 
						
Transactions: 
Load 
* 
Inline  
[ 
id,date,amount 
8188,'1/19/2022',37.23 
8189,'1/7/2022',17.17 
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 det här fältet som en dimension:

`date`

För att beräkna om transaktioner ägde rum mellan 1 juli och 26 juli skapar du följande mått:

`=inmonthtodate(date,'07/26/2022', 0)`

Resultattabell

| datum | =inmonthtodate(date,'07/26/2022', 0) |
| --- | --- |
| 1/7/2022 | 0 |
| 1/19/2022 | 0 |
| 2/5/2022 | 0 |
| 2/28/2022 | 0 |
| 3/16/2022 | 0 |
| 4/1/2022 | 0 |
| 5/7/2022 | 0 |
| 5/16/2022 | 0 |
| 6/15/2022 | 0 |
| 6/26/2022 | 0 |
| 7/9/2022 | -1 |
| 7/22/2022 | -1 |
| 7/23/2022 | -1 |
| 7/27/2022 | 0 |
| 8/2/2022 | 0 |
| 8/8/2022 | 0 |
| 8/19/2022 | 0 |
| 9/26/2022 | 0 |
| 10/14/2022 | 0 |
| 10/29/2022 | 0 |

`in_month_to_date`-fältmåttet skapas i diagrammet genom att använda `inmonthtodate()`-funktionen.

Det första argumentet anger vilket fält som utvärderas. Det andra argumentet är ett hårdkodat datum, 26 juli, som är `base_date`. Det här base\_date-argumentet identifierar vilken månad som är segmenterad och slutgränsen för det segmentet. Ett `period_no` på 0 är det sista argumentet. Detta innebär att funktionen inte jämför månaderna före eller efter den segmenterade månaden.

Diagram för `inmonthtodate`-funktionen utan ytterligare argument

Diagram för `inmonthtodate`-funktionen utan ytterligare argument

Diagram för `inmonthtodate`inmonthtodate-funktionen utan ytterligare argument ![Diagram som visar transaktionsintervallet mellan 1 juli och 26 juli.](https://help.qlik.com/sv-SE/cloud-services/Subsystems/Hub/Content/Resources/Images/scripting-functions-inmonthtodate-example3-diagram.png)

Som följd returnerar alla transaktioner som sker mellan 1 juli och 26 juli det booleska resultatet TRUE. Alla transaktioner som inträffar i juli efter 26 juli returnerar det booleska resultatet FALSE, liksom alla transaktioner under någon annan månad under året.

## Exempel 4 – Scenario

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

#### Laddningsskript och resultat

Översikt

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

* Produkt-ID

* Tillverkningsdatum

* Kostnadspris

På grund av utrustningsfel var produkter som tillverkades i juli månad 2022 defekta. Problemet löstes den 27 juli 2022.

Slutanvändaren vill ha ett diagramobjekt som visar status för tillverkade produkter som var "defekta" (booleskt värde: TRUE) eller "felfria" (booleskt värde: FALSE), efter datum, samt kostnaden för de produkter som tillverkades den månaden.

Laddningsskript

```
Products: 
Load 
* 
Inline  
[ 
product_id,manufacture_date,cost_price 
8188,'1/19/2022',37.23 
8189,'1/7/2022',17.17 
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:

* `=monthname(manufacture_date)`
* `=if(Inmonthtodate(manufacture_date,makedate(2022,07,26),0),'Defective','Faultless')`

För att beräkna den sammanlagda kostnaden för produkten skapar du följande mått:

`=sum(cost_price)`

Ange måttens Nummerformatering till Pengar.

Resultattabell

| monthname(manufacture\_date) | if(Inmonthtodate(manufacture\_date,makedate(2022,07,26),0),'Defective','Faultless') | =sum(cost\_price) |
| --- | --- | --- |
| Jan 2022 | Felfri | $54.40 |
| Feb 2022 | Felfri | $145.69 |
| Mar 2022 | Felfri | $53.80 |
| Apr 2022 | Felfri | $82.06 |
| Maj 2022 | Felfri | $127.60 |
| Jun 2022 | Felfri | $141.82 |
| Jul 2022 | Defekt | $144.66 |
| Jul 2022 | Felfri | $69.98 |
| Aug 2022 | Felfri | $147.46 |
| Sep 2022 | Felfri | $84.21 |
| Okt 2022 | Felfri | $163.91 |

Funktionen `inmonthtodate()` returnerar ett booleskt värde vid utvärdering av tillverkningsdatumen för var och en av produkterna.

För de datum som returnerar det booleska värdet TRUE markeras produkten som "Defekt". För alla produkter som returnerar ett värde på FALSE, och därför inte har tillverkats fram till och med 26 juli markerar den produkterna som "Felfria".