# inmonths - Skript- und Diagrammfunktion

Diese Funktion ermittelt, ob ein Zeitstempel im gleichen Monat, Zweimonatszeitraum, Quartal, Viermonatszeitraum oder Halbjahr wie ein Basisdatum liegt. Es lässt sich auch bestimmen, ob ein Zeitstempel in den vorhergehenden oder nachfolgenden Zeitraum fällt.

Syntax:

InMonths(n\_months, timestamp, base\_date, period\_no [, first\_month\_of\_year])

Rückgabe Datentyp: Boolesch

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

Diagramm der Funktion `inmonths()`

Diagramm der Funktion `inmonths()`

Diagramm der Funktion `inmonths()`inmonths() ![Das Diagramm zeigt den Zeitraum, in dem die Funktion „inmonths()“ das Basisdatum als wahr oder falsch auswertet.](https://help.qlik.com/de-DE/sense/May2025/Subsystems/Hub/Content/Resources/Images/scripting-functions-inmonths-diagram1.png)

Die Funktion `inmonths()` unterteilt das Jahr in Segmente, gestützt auf das angegebene Argument `n_months`. Dann bestimmt sie, ob die einzelnen ausgewerteten Zeitstempel in das gleiche Segment wie das Argument `base_date` fallen. Wenn aber das Argument `period_no` angegeben wird, bestimmt die Funktion, ob die Zeitstempel in einen Zeitraum vor oder nach dem `base_date` fallen.

Die folgenden Segmente des Jahres sind in der Funktion als Argumente `n_month` verfügbar.

Argumente `n_month`n\_month

| Zeitraum | Anzahl der Monate |
| --- | --- |
| Monat | 1 |
| Zweimonatszeitraum | 2 |
| Quartal | 3 |
| Viermonatszeitraum | 4 |
| Halbjahr | 6 |

Verwendung

Die Funktion `inmonths()` gibt einen booleschen Wert zurück. In der Regel wird dieser Funktionstyp als Bedingung in einer `if expression` verwendet. Wenn Sie die Funktion `inmonths()` verwenden, können Sie den Zeitraum auswählen, den Sie auswerten möchten. Sie können dem Benutzer beispielsweise die Möglichkeit geben, Produkte zu identifizieren, die im Monat, Quartal oder Halbjahr eines bestimmten Zeitraums hergestellt wurden.

Rückgabe Datentyp: Boolesch

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

Argumente

| Argument | Beschreibung |
| --- | --- |
| n\_months | Die Anzahl der Monate, die den Zeitraum definiert. Eine Ganzzahl oder eine Formel, die eine Ganzzahl mit einem der folgenden Werte ergibt: 1 (entspricht der Funktion inmonth()), 2 (Zweimonatszeitraum), 3 (entspricht der Funktion inquarter()), 4 (Viermonatszeitraum) oder 6 (Halbjahr). |
| timestamp | Das Datum, das mit base\_date verglichen werden soll. |
| base\_date | Datum, das für die Interpretation des Zeitraums verwendet wird. |
| period\_no | Mit period\_no, einer ganze Zahl oder einer Formel, die eine ganze Zahl ergibt, kann ein anderer Beginn für den Zeitraum festgelegt werden, wobei 0 für den Zeitraum steht, der base\_date enthält. Negative Werte von period\_no stehen für vorangehende, positive Werte für nachfolgende Zeiträume. |
| first\_month\_of\_year | Wenn Sie mit abweichenden Geschäftsjahren arbeiten möchten, definieren Sie mit einer Zahl zwischen 2 und 12 für first\_month\_of\_year einen anderen Startmonat. |

Sie können die folgenden Werte verwenden, um den ersten Monat des Jahres im Argument `first_month_of_year` festzulegen.

Werte für first\_month\_of\_year

| Monat | Wert |
| --- | --- |
| Februar | 2 |
| März | 3 |
| April | 4 |
| Mai | 5 |
| Juni | 6 |
| Juli | 7 |
| August | 8 |
| September | 9 |
| Oktober | 10 |
| November | 11 |
| Dezember | 12 |

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

Die standardmäßigen regionalen Einstellungen in Apps basieren auf den regionalen Systemeinstellungen der Computer oder Server, auf denen Qlik Sense installiert ist. Wenn der Qlik Sense-Server, auf den Sie zugreifen, auf Schweden festgelegt ist, verwendet der Dateneditor die schwedischen regionalen Einstellungen für Datums-, Uhrzeit- und Währungsangaben. Diese Einstellungen im regionalen Format hängen nicht mit der Sprache zusammen, die in der Benutzeroberfläche von Qlik Sense angezeigt wird. Qlik Sense wird in der gleichen Sprache wie der von Ihnen verwendete Browser angezeigt.

Funktionsbeispiele

| Beispiel | Ergebnis |
| --- | --- |
| `inmonths(4, '01/25/2013', '04/25/2013', 0)` | Gibt TRUE zurück. Weil der Wert von timestamp, 01/25/2013, in einen Viermonatszeitraum von 01/01/2013 bis 04/30/2013 fällt, in dem der Wert von `base_date`, 04/25/2013 liegt. |
| `inmonths(4, '05/25/2013', '04/25/2013', 0)` | Gibt FALSE zurück. Weil 05/25/2013 sich außerhalb des im vorhergehenden Beispiel angegebenen Zeitraums befindet. |
| `inmonths(4, '11/25/2012', '02/01/2013', -1 )` | Gibt TRUE zurück. Weil der Wert von `period_no`, `-1`, den Suchzeitraum um einen Zeitraum von vier Monaten (den Wert von n-months) nach hinten verschiebt. Dadurch ergibt sich der Suchzeitraum 09/01/2012 bis 12/31/2012. |
| `inmonths(4, '05/25/2006', '03/01/2006', 0, 3)` | Gibt TRUE zurück. Da der Wert von `first_month_of_year` auf `3` festgelegt ist, wodurch der Suchzeitraum 03/01/2006 bis 07/30/2006 anstelle von 01/01/2006 bis 04/30/2006 ist. |

## Beispiel 1 – keine zusätzlichen Argumente

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/inmonths.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 eine Reihe von Transaktionen für 2022 enthält, wird in eine Tabelle namens „`Transactions`“ geladen.

* Ein vorangehender load-Befehl mit einer zusätzlichen Variablen „`in_months`“ bestimmt, ob Transaktionen im gleichen Quartal wie der 15. Mai 2022 stattfanden.

Ladeskript

```
SET DateFormat='MM/DD/YYYY'; 
						
Transactions: 
    Load 
       *, 
       inmonths(3,date,'05/15/2022', 0) as in_months 
       ; 
Load 
* 
Inline  
[ 
id,date,amount 
8188,'2/19/2022',37.23 
8189,'3/7/2022',17.17 
8190,'3/30/2022',88.27 
8191,'4/5/2022',57.42 
8192,'4/16/2022',53.80 
8193,'5/1/2022',82.06 
8194,'5/7/2022',40.39 
8195,'5/22/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 die folgenden Felder als Dimensionen hinzu:

* `date`
* `in_months`

Ergebnistabelle

| Datum | in\_months |
| --- | --- |
| 2/19/2022 | 0 |
| 3/7/2022 | 0 |
| 3/30/2022 | 0 |
| 4/5/2022 | -1 |
| 4/16/2022 | -1 |
| 5/1/2022 | -1 |
| 5/7/2022 | -1 |
| 5/22/2022 | -1 |
| 6/15/2022 | -1 |
| 6/26/2022 | -1 |
| 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 |

Das Feld „`in_months`“ wird im vorangehenden load-Befehl mithilfe der Funktion `inmonths()` erstellt. Das erste angegebene Argument ist `3`. Damit wird das Jahr in Quartalssegmente unterteilt. Das zweite Argument identifiziert, welches Feld ausgewertet wird. In diesem Beispiel ist dies das Datumsfeld. Das dritte Argument ist ein hartcodiertes Datum für den 15. Mai, das `base_date`, und eine `period_no` von `0` ist das letzte Argument.

Diagramm der Funktion `inmonths()` mit Quartalssegmenten

Diagramm der Funktion `inmonths()` mit Quartalssegmenten

Diagramm der Funktion `inmonths()`inmonths() mit Quartalssegmenten![Das Diagramm zeigt, dass der Zeitbereich der Funktion „inmonths()“ auf den 15. Mai als Basisdatum ausgewertet und das Jahr in Quartalssegmente unterteilt wird.](https://help.qlik.com/de-DE/sense/May2025/Subsystems/Hub/Content/Resources/Images/scripting-functions-inmonths-examples1_and4-diagram.png)

Der Monat Mai liegt im zweiten Quartal des Jahres. Daher gibt jede Transaktion, die zwischen dem 1. April und dem 30. Juni stattfindet, ein boolesches Ergebnis von TRUE zurück. Dies wird in der Ergebnistabelle validiert.

## Beispiel 2 – period\_no

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/inmonths.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 eine Reihe von Transaktionen für 2022 enthält, wird in eine Tabelle namens „`Transactions`“ geladen.

* Eine vorangehende load-Anweisung mit einer zusätzlichen Variablen, „`previous_quarter`“, die bestimmt, ob Transaktionen im Quartal vor dem 15. Mai 2022 stattfanden.

Ladeskript

```
SET DateFormat='MM/DD/YYYY'; 
						
Transactions: 
    Load 
       *, 
       inmonths(3,date,'05/15/2022', -1) as previous_quarter 
       ; 
Load 
* 
Inline  
[ 
id,date,amount 
8188,'2/19/2022',37.23 
8189,'3/7/2022',17.17 
8190,'3/30/2022',88.27 
8191,'4/5/2022',57.42 
8192,'4/16/2022',53.80 
8193,'5/1/2022',82.06 
8194,'5/7/2022',40.39 
8195,'5/22/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 die folgenden Felder als Dimensionen hinzu:

* `date`
* `previous_quarter`

Ergebnistabelle

| Datum | voriges Quartal |
| --- | --- |
| 2/19/2022 | -1 |
| 3/7/2022 | -1 |
| 3/30/2022 | -1 |
| 4/5/2022 | 0 |
| 4/16/2022 | 0 |
| 5/1/2022 | 0 |
| 5/7/2022 | 0 |
| 5/22/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 |

Die Funktion wertet aus, ob Transaktionen im ersten Quartal des Jahres stattfanden. Dafür wird `-1` als Argument `period_no` in der Funktion `inmonths()` verwendet. Der 15. Mai ist das `base_date` und liegt im zweiten Quartal des Jahres (April-Juni).

Diagramm der Funktion `inmonths()` mit Quartalssegmenten, wobei `period_no` auf `-1` festgelegt ist

Diagramm der Funktion `inmonths()` mit Quartalssegmenten, wobei `period_no` auf `-1` festgelegt ist

Diagramm der Funktion `inmonths()`inmonths() mit Quartalssegmenten, wobei `period_no`period\_no auf `-1`-1 festgelegt ist![Das Diagramm zeigt, dass der Zeitbereich der Funktion „inmonths()“ mit dem 15. Mai als Basisdatum ausgewertet und das Jahr in Quartalssegmente unterteilt wird. „period_no“ ist auf -1 festgelegt, wodurch der Zeitbereich um ein Quartal zurückgesetzt wird.](https://help.qlik.com/de-DE/sense/May2025/Subsystems/Hub/Content/Resources/Images/scripting-functions-inmonths-example2-diagram.png)

Daher gibt jede Transaktion, die zwischen Januar und März stattfindet, ein boolesches Ergebnis von TRUE zurück.

## Beispiel 3 – first\_month\_of\_year

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/inmonths.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 eine Reihe von Transaktionen für 2022 enthält, wird in eine Tabelle namens „`Transactions`“ geladen.

* Eine vorangehende load-Anweisung mit einer zusätzlichen Variablen „`in_months`“ bestimmt, ob Transaktionen im gleichen Quartal wie der 15. Mai 2022 stattfanden.

In diesem Beispiel legt die Organisationsrichtlinie fest, dass März der erste Monat des Geschäftsjahres ist.

Ladeskript

```
SET DateFormat='MM/DD/YYYY'; 
						
Transactions: 
    Load 
       *, 
       inmonths(3,date,'05/15/2022', 0, 3) as in_months 
       ; 
Load 
* 
Inline  
[ 
id,date,amount 
8188,'2/19/2022',37.23 
8189,'3/7/2022',17.17 
8190,'3/30/2022',88.27 
8191,'4/5/2022',57.42 
8192,'4/16/2022',53.80 
8193,'5/1/2022',82.06 
8194,'5/7/2022',40.39 
8195,'5/22/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 die folgenden Felder als Dimensionen hinzu:

* `date`
* `in_months`

Ergebnistabelle

| Datum | in\_months |
| --- | --- |
| 2/19/2022 | 0 |
| 3/7/2022 | -1 |
| 3/30/2022 | -1 |
| 4/5/2022 | -1 |
| 4/16/2022 | -1 |
| 5/1/2022 | -1 |
| 5/7/2022 | -1 |
| 5/22/2022 | -1 |
| 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 |

Da `3` als Argument `first_month_of_year` in der Funktion `inmonths()` verwendet wird, beginnt die Funktion das Jahr am 1. März. Die Funktion `inmonths()` unterteilt dann das Jahr in Quartale: Mär-Mai, Jun-Aug, Sep-Nov, Dez-Feb. Somit fällt der 15. Mai in das erste Quartal des Jahres (Mär-Mai).

Diagramm der Funktion `inmonths()` mit März als erstem Monat des Jahres

Diagramm der Funktion `inmonths()` mit März als erstem Monat des Jahres

Diagramm der Funktion `inmonths()`inmonths() mit März als erstem Monat des Jahres![Das Diagramm zeigt, dass der Zeitbereich der Funktion „inmonths()“ mit dem 15. Mai als Basisdatum ausgewertet und das Jahr in Quartalssegmente unterteilt wird. Zudem ist März als der erste Monat des Jahres festgelegt.](https://help.qlik.com/de-DE/sense/May2025/Subsystems/Hub/Content/Resources/Images/scripting-functions-inmonths-example3-diagram.png)

Jede Transaktion, die in diesen Monaten stattfindet, gibt ein boolesches Ergebnis von TRUE zurück.

## Beispiel 4 – Diagrammobjektbeispiel

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

#### Ladeskript und Diagrammformel

Übersicht

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

In diesem Beispiel wird jedoch der unveränderte Datensatz in die Anwendung geladen. Die Berechnung, die bestimmt, ob Transaktionen im gleichen Quartal wie der 15. Mai 2022 stattfanden, wird als Kennzahl in einem Diagramm in der App erstellt.

Ladeskript

```
SET DateFormat='MM/DD/YYYY'; 
						
Transactions: 
Load 
* 
Inline  
[ 
id,date,amount 
8188,'2/19/2022',37.23 
8189,'3/7/2022',17.17 
8190,'3/30/2022',88.27 
8191,'4/5/2022',57.42 
8192,'4/16/2022',53.80 
8193,'5/1/2022',82.06 
8194,'5/7/2022',40.39 
8195,'5/22/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:

* `date`

Um zu berechnen, ob Transaktionen im selben Quartal wie der 15. Mai stattfanden, erstellen Sie die folgende Kennzahl:

`=inmonths(3,date,'05/15/2022', 0)`

Ergebnistabelle

| Datum | =inmonths(3,date,'05/15/2022', 0) |
| --- | --- |
| 2/19/2022 | 0 |
| 3/7/2022 | 0 |
| 3/30/2022 | 0 |
| 4/5/2022 | -1 |
| 4/16/2022 | -1 |
| 5/1/2022 | -1 |
| 5/7/2022 | -1 |
| 5/22/2022 | -1 |
| 6/15/2022 | -1 |
| 6/26/2022 | -1 |
| 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 |

Das Feld „`in_months`“ wird im Diagramm mithilfe der Funktion `inmonths()` erstellt. Das erste angegebene Argument ist `3`. Damit wird das Jahr in Quartalssegmente unterteilt. Das zweite Argument identifiziert, welches Feld ausgewertet wird. In diesem Beispiel ist dies das Datumsfeld. Das dritte Argument ist ein hartcodiertes Datum für den 15. Mai, das `base_date`, und eine `period_no` von `0` ist das letzte Argument.

Diagramm der Funktion `inmonths()` mit Quartalssegmenten

Diagramm der Funktion `inmonths()` mit Quartalssegmenten

Diagramm der Funktion `inmonths()`inmonths() mit Quartalssegmenten![Das Diagramm zeigt, dass der Zeitbereich der Funktion „inmonths()“ auf den 15. Mai als Basisdatum ausgewertet und das Jahr in Quartalssegmente unterteilt wird.](https://help.qlik.com/de-DE/sense/May2025/Subsystems/Hub/Content/Resources/Images/scripting-functions-inmonths-examples1_and4-diagram.png)

Der Monat Mai liegt im zweiten Quartal des Jahres. Daher gibt jede Transaktion, die zwischen dem 1. April und dem 30. Juni stattfindet, ein boolesches Ergebnis von TRUE zurück. Dies wird in der Ergebnistabelle validiert.

## Beispiel 5 – Szenario

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

#### Ladeskript und Ergebnisse

Übersicht

Öffnen Sie den Dateneditor und fügen Sie das Ladeskript unten in einen neuen Abschnitt ein.

Das Ladeskript umfasst:

* Datensatz, der in eine Tabelle namens „Products“ geladen wird

* Die Tabelle enthält die folgenden Felder:

  * Produkt-ID

  * Produkttyp

  * Herstellungsdatum

  * Selbstkosten

Der Endbenutzer möchte ein Diagramm, das nach Produkttyp die Kosten der im ersten Segment des Jahres 2021 gefertigten Produkte anzeigt. Der Benutzer möchte die Länge dieses Segments definieren können.

Ladeskript

```
SET vPeriod = 1; 

Products: 
Load 
* 
Inline  
[ 
product_id,product_type,manufacture_date,cost_price 
8188,product A,'2/19/2022',37.23 
8189,product D,'3/7/2022',17.17 
8190,product C,'3/30/2022',88.27 
8191,product B,'4/5/2022',57.42 
8192,product D,'4/16/2022',53.80 
8193,product D,'5/1/2022',82.06 
8194,product A,'5/7/2022',40.39 
8195,product B,'5/22/2022',87.21 
8196,product C,'6/15/2022',95.93 
8197,product B,'6/26/2022',45.89 
8198,product C,'7/9/2022',36.23 
8199,product D,'7/22/2022',25.66 
8200,product D,'7/23/2022',82.77 
8201,product A,'7/27/2022',69.98 
8202,product A,'8/2/2022',76.11 
8203,product B,'8/8/2022',25.12 
8204,product B,'8/19/2022',46.23 
8205,product B,'9/26/2022',84.21 
8206,product C,'10/14/2022',96.24 
8207,product D,'10/29/2022',67.67 
];
```

Ergebnisse

Laden Sie die Daten und öffnen Sie ein Arbeitsblatt.

Am Beginn des Ladeskripts wurde eine Variable (vPeriod) erstellt, die an die Variableneingabesteuerung gebunden wird.

Gehen Sie folgendermaßen vor:

1. Klicken Sie im Extras-Fenster auf Benutzerdefinierte Objekte.

2. Wählen Sie Qlik Dashboard Bundle aus und erstellen Sie ein Objekt Variableneingabe.

3. Geben Sie einen Titel für das Diagrammobjekt ein.

4. Wählen Sie unter Variable den Eintrag vPeriod als den Namen aus und legen Sie das Objekt so fest, dass es als Dropdown angezeigt wird.

5. Klicken Sie unter Werte auf Dynamisch. Geben Sie Folgendes ein:

   ```
   ='1~month|2~bi-month|3~quarter|4~tertial|6~half-year'.
   ```

6. Fügen Sie eine neue Tabelle zum Arbeitsblatt hinzu.

7. Fügen Sie im Eigenschaftsfenster unter Daten das Feld product\_type als Dimension hinzu.

8. Fügen Sie die folgende Formel als Kennzahl hinzu:

   =sum(if(inmonths($(vPeriod),manufacture\_date,makedate(2022,01,01),0),cost\_price,0))

9. Legen Sie das Zahlenformat der Kennzahl auf Währung fest.

Ergebnistabelle

| product\_type | =sum(if(inmonths($(vPeriod),manufacture\_date,makedate(2022,01,01),0),cost\_price,0)) |
| --- | --- |
| Produkt A | $88.27 |
| Produkt B | $37.23 |
| Produkt C | $17.17 |
| Produkt D | $0.00 |

Die Funktion inmonths() verwendet die Benutzereingabe als Argument zum Definieren der Größe des Startsegments des Jahres. Die Funktion übergibt das Herstellungsdatum der einzelnen Produkte als das zweite Argument der Funktion inmonths(). Da der 1. Januar als drittes Argument der Funktion inmonths() verwendet wird, geben Produkte mit einem Herstellungsdatum, das in das Anfangssegment des Jahres fällt, einen booleschen Wert von TRUE zurück, und daher addiert die Summenfunktion die Kosten dieser Produkte.