# inmonth - skript- och diagramfunktion

Denna funktion returnerar True om timestamp ligger inom den månad som innehåller base\_date.

Syntax:

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

Diagram för `indaytotime`-funktionen.

Diagram för `indaytotime`-funktionen.

Diagram för `indaytotime`indaytotime-funktionen. ![Diagram som visar villkoren för inmonth-funktionen.](https://help.qlik.com/sv-SE/sense/May2025/Subsystems/Hub/Content/Resources/Images/dr_Diagram_InMonth.png)

Med andra ord så avgör `inmonth()`-funktionen om en uppsättning datum infaller i denna månad och returnerar ett booleskt värde baserat på en `base_date` som identifierar månaden.

Användning

Funktionen `inmonth()` returnerar ett booleskt resultat. Vanligtvis kommer denna typ av funktion att användas som ett villkor i en `if expression`. Detta returnerar en aggregering eller beräkning beroende på om ett utvärderat datum inträffade på dagen för den aktuella tidsmarkören.

Till exempel kan `inmonth()`-funktionen användas för att identifiera all utrustning som tillverkas under en specifik dag.

Returnerad datatyp: Boolesk

I Qlik Sense, representeras det booleska sanna värdet av -1, och det falska värdet representeras av 0.

Argument

| Argument | Beskrivning |
| --- | --- |
| tidsmarkör | Det datum du vill jämföra mot `base_date`. |
| base\_date | Datum som används för att utvärdera månaden. Det är viktigt att notera att `base_date` kan vara vilken dag som helst inom en månad. |
| 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. |

## Lokala inställningar

Om inget annat anges använder exemplen i detta ämne följande datumformat: MM/DD/ÅÅÅÅ. 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 appar baseras på de regionala systeminställningarna för datorn eller servern där Qlik Sense är installerad. Om Qlik Sense-servern du ansluter till är inställd på Sverige så kommer skriptredigeraren använda regionala inställningar för Sverige 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 |
| --- | --- |
| ` inmonth ('25/01/2013', '01/01/2013', 0)  ` | Returnerar True |
| `inmonth('25/01/2013', '23/04/2013', 0)` | Returnerar False |
| ` inmonth ('25/01/2013', '01/01/2013', -1)  ` | Returnerar False |
| ` inmonth ('25/12/2012', '17/01/2013', -1)  ` | Returnerar True |

## Exempel 1 – inga ytterligare argument

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/inmonth.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 första halvåret 2022.

* En föregående laddning med en extra variabel, ”`in_month`”, som avgör om transaktioner ägde rum i april.

Laddningsskript

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

Transactions: 
  Load 
    *, 
    inmonth(date,'04/01/2022', 0) as in_month 
    ; 
Load 
* 
Inline  
[ 
id,date,amount 
8188,'1/10/2022',37.23 
8189,'1/14/2022',17.17 
8190,'1/20/2022',88.27 
8191,'1/22/2022',57.42 
8192,'2/1/2022',53.80 
8193,'2/2/2022',82.06 
8194,'2/20/2022',40.39 
8195,'4/11/2022',87.21 
8196,'4/13/2022',95.93 
8197,'4/15/2022',45.89 
8198,'4/25/2022',36.23 
8199,'5/20/2022',25.66 
8200,'5/22/2022',82.77 
8201,'6/19/2022',69.98 
8202,'6/22/2022',76.11 
]; 
```

Resultat

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

* `date`
* `in_month`

Exempel på funktioner

| datum | in\_month |
| --- | --- |
| 1/10/2022 | 0 |
| 1/14/2022 | 0 |
| 1/20/2022 | 0 |
| 1/22/2022 | 0 |
| 2/1/2022 | 0 |
| 2/2/2022 | 0 |
| 2/20/2022 | 0 |
| 4/11/2022 | -1 |
| 4/13/2022 | -1 |
| 4/15/2022 | -1 |
| 4/25/2022 | -1 |
| 5/20/2022 | 0 |
| 5/22/2022 | 0 |
| 6/19/2022 | 0 |
| 6/22/2022 | 0 |

`in_month`-fältet skapades i den föregående load-satsen genom att använda `inmonth()`-funktionen och skicka datafälten, en hårdkodad tidsmarkör för den 1 april som funktionens argument `base_date` och en `period_no` för `0` som funktionens argument.

`base_date` identifierar månaden som kommer att returnera ett booleskt resultat av TRUE. Därför returnerar alla transaktioner som inträffade i april TRUE vilket valideras i resultattabellen.

## Exampel 2 – period\_no

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

#### Laddningsskript och resultat

Översikt

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

Men i det här exemplet kommer du att skapa ett fält, `2_months_prior`, som avgör om transaktionerna ägde rum två månader före april.

Laddningsskript

```
SET DateFormat='MM/DD/YYYY'; 
 
Transactions: 
Load 
   *, 
   inmonth(date,'04/01/2022', -2) as [2_months_prior] 
Inline  
[ 
id,date,amount 
8188,'1/10/2022',37.23 
8189,'1/14/2022',17.17 
8190,'1/20/2022',88.27 
8191,'1/22/2022',57.42 
8192,'2/1/2022',53.80 
8193,'2/2/2022',82.06 
8194,'2/20/2022',40.39 
8195,'4/11/2022',87.21 
8196,'4/13/2022',95.93 
8197,'4/15/2022',45.89 
8198,'4/25/2022',36.23 
8199,'5/20/2022',25.66 
8200,'5/22/2022',82.77
8201,'6/19/2022',69.98 
8202,'6/22/2022',76.11 
]; 
```

Resultat

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

* `date`
* `2_months_prior`

Exempel på funktioner

| datum | 2\_months\_prior |
| --- | --- |
| 1/10/2022 | 0 |
| 1/14/2022 | 0 |
| 1/20/2022 | 0 |
| 1/22/2022 | 0 |
| 2/1/2022 | -1 |
| 2/2/2022 | -1 |
| 2/20/2022 | -1 |
| 4/11/2022 | 0 |
| 4/13/2022 | 0 |
| 4/15/2022 | 0 |
| 4/25/2022 | 0 |
| 5/20/2022 | 0 |
| 5/22/2022 | 0 |
| 6/19/2022 | 0 |
| 6/22/2022 | 0 |

Om du använder -2 som `period_no`-argument i `inmonth()`-funktionen förskjuts månaden som definieras av `base_date`-argumentet två månader tidigare. I det här exemplet ändras den definierade månaden från april till februari.

Därför kommer varje transaktion som äger rum i februari att returnera det booleska värdet TRUE.

## Exempel 3 – Diagramobjekt

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

#### Laddningsskript och diagramuttryck

Översikt

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

I det här exemplet är dock datauppsättningen oförändrad och har lästs in i programmet. Beräkningen som avgör om transaktioner har skett mellan 1 juli och 26 juli skapas som ett mått i ett diagramobjekt i programmet.

Laddningsskript

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

Transactions: 
Load 
* 
Inline  
[ 
id,date,amount 
8188,'1/10/2022',37.23 
8189,'1/14/2022',17.17 
8190,'1/20/2022',88.27 
8191,'1/22/2022',57.42 
8192,'2/1/2022',53.80 
8193,'2/2/2022',82.06 
8194,'2/20/2022',40.39 
8195,'4/11/2022',87.21 
8196,'4/13/2022',95.93 
8197,'4/15/2022',45.89 
8198,'4/25/2022',36.23 
8199,'5/20/2022',25.66 
8200,'5/22/2022',82.77 
8201,'6/19/2022',69.98 
8202,'6/22/2022',76.11 
]; 
```

Diagramobjekt

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 räkna ut om en transaktion sker den 5 januari skapar du följande mått:

`=inmonth(date,'04/01/2022', 0)`

Resultat

Exempel på funktioner

| datum | =inmonth(date,'04/01/2022', 0) |
| --- | --- |
| 1/10/2022 | 0 |
| 1/14/2022 | 0 |
| 1/20/2022 | 0 |
| 1/22/2022 | 0 |
| 2/1/2022 | 0 |
| 2/2/2022 | 0 |
| 2/20/2022 | 0 |
| 4/11/2022 | -1 |
| 4/13/2022 | -1 |
| 4/15/2022 | -1 |
| 4/25/2022 | -1 |
| 5/20/2022 | 0 |
| 5/22/2022 | 0 |
| 6/19/2022 | 0 |
| 6/22/2022 | 0 |

## Exempel 4 – Scenario

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/inmonth.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 det här fältet som en dimension:

`=monthname(manufacture_date)`

Skapa följande mått

* `=sum(cost_price)`

* `=if(only(inmonth(manufacture_date,makedate(2022,07,01),0)),'Defective','Faultless')`

1. Ange måttens Nummerformatering till Pengar.

2. Under Utseende, stänger du av Total.

Resultattabell

| monthname(manufacture\_date) | =if(only(inmonth(manufacture\_date,makedate(2022,07,01),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 | $214.64 |
| Aug 2022 | Felfri | $147.46 |
| Sep 2022 | Felfri | $84.21 |
| Okt 2022 | Felfri | $163.91 |

Funktionen `inmonth()` returnerar ett booleskt värde vid utvärdering av tillverkningsdatumen för var och en av produkterna. För alla produkter som tillverkats i juli 2022 returnerar funktionen `inmonth()` ett booleskt värde på TRUE och markerar produkterna som "Defekta". För alla produkter som returnerar ett värde på FALSE, och därför inte tillverkas i juli, markerar den produkterna som "Felfria".