# inmonth Skript- und Diagrammfunktion

Diese Funktion liefert True, wenn timestamp innerhalb des Monats liegt, der base\_date enthält.

Syntax:

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

Diagramm der Funktion `indaytotime`.

Diagramm der Funktion `indaytotime`.

Diagramm der Funktion `indaytotime`indaytotime. ![Diagramm mit den Bedingungen der Funktion „inmonth“.](https://help.qlik.com/de-DE/cloud-services/Subsystems/Hub/Content/Resources/Images/dr_Diagram_InMonth.png)

Die Funktion `inmonth()` bestimmt also, ob eine Reihe von Datumsangaben innerhalb dieses Monats liegen, und gibt einen booleschen Wert basierend auf einem `base_date` an, das den Monat identifiziert.

Verwendung von inmonth

Die Funktion `inmonth()` gibt einen booleschen Wert zurück. In der Regel wird dieser Funktionstyp als Bedingung in einer `if expression` verwendet. Dies gibt eine Aggregierung oder Berechnung zurück, abhängig davon, ob ein Datum in den Monat fällt, einschließlich des betreffenden Datums.

Beispielsweise kann die Funktion `inmonth()` verwendet werden, um alle in einem bestimmten Monat gefertigten Geräte zu identifizieren.

Rückgabe Datentyp: Boolesch

In Qlik Sense wird der boolesche Wert „wahr“ durch -1 dargestellt, der Wert „falsch“ durch 0.

Argumente

| Argument | Beschreibung |
| --- | --- |
| Zeitstempel | Das Datum, das mit `base_date` verglichen werden soll. |
| base\_date | Datum, das für die Interpretation des Monats verwendet wird. Beachten Sie, dass das `base_date` jeder beliebige Tag innerhalb eines Monats sein kann. |
| period\_no | Mit `period_no` kann der Monat verschoben werden. `period_no` ist eine ganze Zahl, wobei 0 für den Monat steht, der `base_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. Weitere Informationen finden Sie unter [Ändern von regionalen Einstellungen für Anwendungen und Skripte](https://help.qlik.com/de-DE/cloud-services/Subsystems/Hub/Content/Sense_Hub/Apps/regional-settings-in-apps.htm).

Regionale Standardeinstellungen in Anwendungen basieren auf dem Benutzerprofil. Diese Einstellungen im regionalen Format hängen nicht mit der Sprache zusammen, die in der Benutzeroberfläche von Qlik Cloud angezeigt wird. Qlik Cloud wird in der gleichen Sprache wie der von Ihnen verwendete Browser angezeigt.

Wenn Sie Anwendungsersteller sind, können Sie die Standardregion für die von Ihnen erstellten Anwendungen festlegen. Weitere Informationen finden Sie unter [Festlegen der bevorzugten regionalen Einstellungen für die App-und Skripterstellung in Qlik Cloud Analytics](https://help.qlik.com/de-DE/cloud-services/Subsystems/Hub/Content/Sense_Hub/UserInterface/Languages.htm#Setting).

Funktionsbeispiele

| Beispiel | Ergebnis |
| --- | --- |
| ` inmonth ('25/01/2013', '01/01/2013', 0)  ` | Gibt „wahr“ zurück |
| `inmonth('25/01/2013', '23/04/2013', 0)` | Gibt „falsch“ zurück |
| ` inmonth ('25/01/2013', '01/01/2013', -1)  ` | Gibt „falsch“ zurück |
| ` inmonth ('25/12/2012', '17/01/2013', -1)  ` | Gibt „wahr“ zurück |

## Beispiel 1 – keine zusätzlichen Argumente

[](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/inmonth.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, der einen Satz Transaktionen für die erste Hälfte von 2022 enthält.

* Ein vorangehender load-Befehl mit einer zusätzlichen Variablen, „`in_month`“, die bestimmt, ob Transaktionen im April stattfanden.

Ladeskript

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

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`
* `in_month`

Funktionsbeispiele

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

Das Feld „`in_month`“ wird im vorangehenden load-Befehl erstellt, indem die Funktion `inmonth()` verwendet und das Datumsfeld, ein hartcodierter Zeitstempel für den 1. April als unser `base_date` und eine `period_no` von `0` als Argumente der Funktion übergeben werden.

Das `base_date` identifiziert den Monat, der ein boolesches Ergebnis von TRUE zurückgibt. Daher geben alle Transaktionen, die im April stattfanden, TRUE zurück, was in der Ergebnistabelle validiert wird.

## Beispiel 2 – period\_no

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

#### Ladeskript und Ergebnisse

Übersicht

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

In diesem Beispiel erstellen Sie jedoch ein Feld „`2_months_prior`“, das angibt, ob die Transaktionen zwei Monate vor April stattfanden.

Ladeskript

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

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`
* `2_months_prior`

Funktionsbeispiele

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

Wenn Sie -2 als Argument für `period_no` in der Funktion `inmonth()` verwenden, wird der vom Argument `base_date` definierte Monat um zwei Monate zurück verschoben. In diesem Beispiel wird der definierte Monat von April zu Februar geändert.

Wenn also eine Transaktion im Februar stattfand, wird ein boolesches Ergebnis von TRUE zurückgegeben.

## Beispiel 3 – Diagrammobjekt

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

#### formel

Übersicht

Es werden derselbe Datensatz und dasselbe Szenario wie in den vorigen Beispielen verwendet.

In diesem Beispiel wird jedoch der unveränderte Datensatz in die Anwendung geladen. Die Berechnung, die bestimmt, ob Transaktionen im April stattfanden, wird als Kennzahl in einem Diagrammobjekt der Anwendung erstellt.

Ladeskript

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

Diagrammobjekt

Laden Sie die Daten und öffnen Sie ein Arbeitsblatt. Erstellen Sie eine neue Tabelle und fügen Sie dieses Feld als Dimension hinzu:

`date`

Um zu berechnen, ob eine Transaktion im April stattfand, erstellen Sie die folgende Kennzahl:

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

Ergebnisse

Funktionsbeispiele

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

## Beispiel 4 – Szenario

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

#### Ladeskript und Ergebnisse

Übersicht

In diesem Beispiel wird ein Datensatz in eine Tabelle namens „`Products`“ geladen. Die Tabelle enthält die folgenden Felder:

* Produkt-ID

* Herstellungsdatum

* Selbstkosten

Aufgrund eines Maschinenfehlers waren die im Monat Juli 2022 gefertigten Produkte mangelhaft. Das Problem wurde am 27. Juli 2022 behoben.

Der Endbenutzer möchte ein Diagramm haben, das nach Monat den Status der hergestellten Produkte angibt und zeigt, welche „mangelhaft“ (boolesch TRUE) und welche „einwandfrei“ (boolesch FALSE) waren und was die in diesem Monat gefertigten Produkte gekostet haben.

Ladeskript

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

Ergebnisse

Laden Sie die Daten und öffnen Sie ein Arbeitsblatt. Erstellen Sie eine neue Tabelle und fügen Sie dieses Feld als Dimension hinzu:

`=monthname(manufacture_date)`

Erstellen Sie die folgenden Kennzahlen:

* `=sum(cost_price)`

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

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

2. Deaktivieren Sie unter Darstellung die Option Gesamtwerte.

Ergebnistabelle

| monthname(manufacture\_date) | =if(only(inmonth(manufacture\_date,makedate(2022,07,01),0)),'Defective','Faultless') | sum(cost\_price) |
| --- | --- | --- |
| Jan 2022 | Einwandfrei | $54.40 |
| Feb 2022 | Einwandfrei | $145.69 |
| Mär 2022 | Einwandfrei | $53.80 |
| Apr 2022 | Einwandfrei | $82.06 |
| Mai 2022 | Einwandfrei | $127.60 |
| Jun 2022 | Einwandfrei | $141.82 |
| Jul 2022 | Defekt | $214.64 |
| Aug 2022 | Einwandfrei | $147.46 |
| Sep 2022 | Einwandfrei | $84.21 |
| Okt 2022 | Einwandfrei | $163.91 |

Die Funktion `inmonth()` gibt einen booleschen Wert zurück, wenn sie das Herstellungsdatum der einzelnen Produkte auswertet. Für alle im Juli 2022 hergestellten Produkte gibt die Funktion `inmonth()` einen booleschen Wert von TRUE zurück und markiert die Produkte als „Mangelhaft“. Alle Produkte, die einen Wert von FALSE zurückgeben und daher nicht im Juli gefertigt wurden, werden als „Einwandfrei“ markiert.