# inyear - Skript- und Diagrammfunktion

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

Syntax:

InYear (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 des Bereichs der Funktion `inyear()`

Diagramm des Bereichs der Funktion `inyear()`

Diagramm des Bereichs der Funktion `inyear()`inyear() ![Das Diagramm zeigt den Zeitbereich, der von der Funktion „inyear()“ ausgewertet wird und einen booleschen Wert abhängig von der Platzierung des Basisdatums zurückgibt.](https://help.qlik.com/de-DE/sense/November2025/Subsystems/Hub/Content/Resources/Images/scripting-functions-inyear-diagram1.png)

Die Funktion `inyear()` gibt ein boolesches Ergebnis zurück, wenn die ausgewählten Datumswerte mit einem vom `base_date` definierten Jahr verglichen werden.

Verwendung

Die Funktion `inyear()` gibt einen booleschen Wert zurück. In der Regel wird dieser Funktionstyp als Bedingung in einer `if expression` verwendet. Er gibt eine Aggregierung oder Berechnung zurück, abhängig davon, ob ein ausgewertetes Datum im betreffenden Jahr liegt. Beispielsweise kann die Funktion `inyear()` verwendet werden, um alle Umsätze in einem definierten Jahr zu identifizieren.

Argumente

| Argument | Beschreibung |
| --- | --- |
| timestamp | Das Datum, das mit base\_date verglichen werden soll. |
| base\_date | Datum, das für die Interpretation des Jahres verwendet wird. |
| period\_no | Mit period\_no können Sie den Beginn des Jahres festlegen.period\_no ist eine ganze Zahl, wobei 0 für das Jahr steht, das base\_date enthält. Negative Werte von period\_no stehen für vorangehende, positive Werte für nachfolgende Jahre. |
| 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 |
| --- | --- |
| `inyear ('01/25/2013', '01/01/2013', 0 )` | Gibt TRUE zurück |
| `inyear ('01/25/2012', '01/01/2013', 0)` | Gibt FALSE zurück |
| `inyear ('01/25/2013', '01/01/2013', -1)` | Gibt FALSE zurück |
| `inyear ('01/25/2012', '01/01/2013', -1 )` | Gibt TRUE zurück |
| `inyear ('01/25/2013', '01/01/2013', 0, 3)` | Gibt TRUE zurück<br><br>Die Werte von `base_date` und `first_month_of_year` geben an, dass der Zeitstempel zwischen dem 01/03/2012 und dem 02/28/2013 liegen muss. |
| `inyear ('03/25/2013', '07/01/2013', 0, 3 )` | Gibt TRUE zurück |

## Beispiel 1 – einfaches Beispiel

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/inyear.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 zwischen 2020 und 2022 enthält, wird in eine Tabelle namens „`Transactions`“ geladen.

* Ein vorangehender load-Befehl, der die Funktion `inyear()` enthält, wird als das Feld „`in_year`“ festgelegt und bestimmt, welche Transaktionen im gleichen Jahr wie der 26. Juli 2021 stattfanden.

Ladeskript

```
SET DateFormat='MM/DD/YYYY'; 
Transactions: 
    Load 
        *, 
        inyear(date,'07/26/2021', 0) as in_year 
        ; 
Load 
* 
Inline  
[ 
id,date,amount 
8188,'01/13/2020',37.23 
8189,'02/26/2020',17.17
8190,'03/27/2020',88.27 
8191,'04/16/2020',57.42 
8192,'05/21/2020',53.80 
8193,'08/14/2020',82.06 
8194,'10/07/2020',40.39 
8195,'12/05/2020',87.21 
8196,'01/22/2021',95.93 
8197,'02/03/2021',45.89 
8198,'03/17/2021',36.23 
8199,'04/23/2021',25.66 
8200,'05/04/2021',82.77 
8201,'06/30/2021',69.98 
8202,'07/26/2021',76.11 
8203,'12/27/2021',25.12 
8204,'06/06/2022',46.23 
8205,'07/18/2022',84.21 
8206,'11/14/2022',96.24 
8207,'12/12/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_year`

Ergebnistabelle

| Datum | in\_year |
| --- | --- |
| 01/13/2020 | 0 |
| 02/26/2020 | 0 |
| 03/27/2020 | 0 |
| 04/16/2020 | 0 |
| 05/21/2020 | 0 |
| 08/14/2020 | 0 |
| 10/07/2020 | 0 |
| 12/05/2020 | 0 |
| 01/22/2021 | -1 |
| 02/03/2021 | -1 |
| 03/17/2021 | -1 |
| 04/23/2021 | -1 |
| 05/04/2021 | -1 |
| 06/30/2021 | -1 |
| 07/26/2021 | -1 |
| 12/27/2021 | -1 |
| 06/06/2022 | 0 |
| 07/18/2022 | 0 |
| 11/14/2022 | 0 |
| 12/12/2022 | 0 |

Das Feld „`in_year`“ wird in der vorangehenden load-Anweisung mithilfe der Funktion `inyear()` erstellt. Das erste Argument identifiziert, welches Feld ausgewertet wird. Das zweite Argument ist ein hartcodiertes Datum, der 26. Juli 2021. Dies ist das `base_date`, das das Vergleichsjahr bestimmt. Eine `period_no` von `0` ist das abschließende Argument, was bedeutet, dass die Funktion `inyear()` keine Jahre vor oder nach dem Jahr vergleicht.

Diagramm des Bereichs der Funktion `inyear()` mit dem 26. Juli als Basisdatum.

Diagramm des Bereichs der Funktion `inyear()` mit dem 26. Juli als Basisdatum.

Diagramm des Bereichs der Funktion `inyear()`inyear() mit dem 26. Juli als Basisdatum. ![Diagramm der Funktion „inyear()“ mit dem 26. Juli als Basisdatum. Der Zeitbereich vom 1. Januar 2021 bis zum 1. Januar 2022 ist hervorgehoben.](https://help.qlik.com/de-DE/sense/November2025/Subsystems/Hub/Content/Resources/Images/scripting-functions-inyear-examples1_and4-diagram.png)

Jede Transaktion, die im Jahr 2021 stattfindet, gibt ein boolesches Ergebnis von TRUE zurück.

## Beispiel 2 – period\_no

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/inyear.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 mit einer Reihe von Transaktionen zwischen 2020 und 2022, der in eine Tabelle namens „`Transactions`“ geladen wird

* Eine vorangehende load-Anweisung, die die Funktion `inyear()` enthält, die als das Feld „`previous_year`“ festgelegt wird und bestimmt, welche Transaktionen im Jahr vor dem Jahr mit dem 26. Juli 2021 stattfanden

Ladeskript

```
SET DateFormat='MM/DD/YYYY'; 
Transactions: 
    Load 
        *, 
        inyear(date,'07/26/2021', -1) as previous_year 
        ; 
Load 
* 
Inline  
[ 
id,date,amount 
8188,'01/13/2020',37.23 
8189,'02/26/2020',17.17
8190,'03/27/2020',88.27 
8191,'04/16/2020',57.42 
8192,'05/21/2020',53.80 
8193,'08/14/2020',82.06 
8194,'10/07/2020',40.39 
8195,'12/05/2020',87.21 
8196,'01/22/2021',95.93 
8197,'02/03/2021',45.89 
8198,'03/17/2021',36.23 
8199,'04/23/2021',25.66 
8200,'05/04/2021',82.77 
8201,'06/30/2021',69.98 
8202,'07/26/2021',76.11 
8203,'12/27/2021',25.12 
8204,'06/06/2022',46.23 
8205,'07/18/2022',84.21 
8206,'11/14/2022',96.24 
8207,'12/12/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_year`

Ergebnistabelle

| Datum | previous\_year |
| --- | --- |
| 01/13/2020 | -1 |
| 02/26/2020 | -1 |
| 03/27/2020 | -1 |
| 04/16/2020 | -1 |
| 05/21/2020 | -1 |
| 08/14/2020 | -1 |
| 10/07/2020 | -1 |
| 12/05/2020 | -1 |
| 01/22/2021 | 0 |
| 02/03/2021 | 0 |
| 03/17/2021 | 0 |
| 04/23/2021 | 0 |
| 05/04/2021 | 0 |
| 06/30/2021 | 0 |
| 07/26/2021 | 0 |
| 12/27/2021 | 0 |
| 06/06/2022 | 0 |
| 07/18/2022 | 0 |
| 11/14/2022 | 0 |
| 12/12/2022 | 0 |

Da `-1` als Argument `period_no` in der Funktion `inyear()` verwendet wird, werden die Grenzen des Vergleichsjahrs um ein volles Jahr zurück verschoben. 2021 ist anfänglich als Vergleichsjahr identifiziert. Die `period_no` verschiebt das Vergleichsjahr um eins, sodass 2020 zum Vergleichsjahr wird.

Diagramm des Bereichs der Funktion `inyear()`, wobei das Argument „period\_no“ auf `-1` festgelegt ist.

Diagramm des Bereichs der Funktion `inyear()`, wobei das Argument „period\_no“ auf `-1` festgelegt ist.

Diagramm des Bereichs der Funktion `inyear()`inyear(), wobei das Argument „period\_no“ auf `-1`-1 festgelegt ist. ![Diagramm der Funktion „inyear()“ mit dem 26. Juli als Basisdatum, wobei das Argument „period_no“ auf minus eins festgelegt ist.](https://help.qlik.com/de-DE/sense/November2025/Subsystems/Hub/Content/Resources/Images/scripting-functions-inyear-example2-diagram.png)

Daher gibt jede Transaktion, die im Jahr 2020 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/inyear.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 mit einer Reihe von Transaktionen zwischen 2020 und 2022, der in eine Tabelle namens „`Transactions`“ geladen wird

* Eine vorangehende load-Anweisung, die die Funktion `inyear()` enthält, die als das Feld „`in_year`“ festgelegt wird und bestimmt, welche Transaktionen im gleichen Jahr wie der 26. Juli 2021 stattfanden

In diesem Beispiel legt aber die Organisationsrichtlinie den März als ersten Monat des Geschäftsjahres fest.

Ladeskript

```
SET DateFormat='MM/DD/YYYY'; 
Transactions: 
    Load 
        *, 
        inyear(date,'07/26/2021', 0, 3) as in_year 
        ; 
Load 
* 
Inline  
[ 
id,date,amount 
8188,'01/13/2020',37.23 
8189,'02/26/2020',17.17
8190,'03/27/2020',88.27 
8191,'04/16/2020',57.42 
8192,'05/21/2020',53.80 
8193,'08/14/2020',82.06 
8194,'10/07/2020',40.39 
8195,'12/05/2020',87.21 
8196,'01/22/2021',95.93 
8197,'02/03/2021',45.89 
8198,'03/17/2021',36.23 
8199,'04/23/2021',25.66 
8200,'05/04/2021',82.77 
8201,'06/30/2021',69.98 
8202,'07/26/2021',76.11 
8203,'12/27/2021',25.12 
8204,'06/06/2022',46.23 
8205,'07/18/2022',84.21 
8206,'11/14/2022',96.24 
8207,'12/12/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_year`

Ergebnistabelle

| Datum | in\_year |
| --- | --- |
| 01/13/2020 | 0 |
| 02/26/2020 | 0 |
| 03/27/2020 | 0 |
| 04/16/2020 | 0 |
| 05/21/2020 | 0 |
| 08/14/2020 | 0 |
| 10/07/2020 | 0 |
| 12/05/2020 | 0 |
| 01/22/2021 | 0 |
| 02/03/2021 | 0 |
| 03/17/2021 | -1 |
| 04/23/2021 | -1 |
| 05/04/2021 | -1 |
| 06/30/2021 | -1 |
| 07/26/2021 | -1 |
| 12/27/2021 | -1 |
| 06/06/2022 | 0 |
| 07/18/2022 | 0 |
| 11/14/2022 | 0 |
| 12/12/2022 | 0 |

Da `3` als Argument `first_month_of_year` in der Funktion `inyear()` verwendet wird, beginnt das Jahr am 1. März und endet am Ende des Monats Februar.

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

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

Diagramm des Bereichs der Funktion `inyear()`inyear() mit März als erstem Monat des Jahres ![Diagramm der Funktion „inyear()“ mit dem 26. Juli als Basisdatum, wobei der erste Monat des Jahres auf März festgelegt ist.](https://help.qlik.com/de-DE/sense/November2025/Subsystems/Hub/Content/Resources/Images/scripting-functions-inyear-example3-diagram.png)

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

## Beispiel 4 – Diagrammobjektbeispiel

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

#### Ladeskript und Diagrammformel

Übersicht

Es werden derselbe Datenatz 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 Jahr wie der 26. Juli 2021 stattfanden, wird als Kennzahl in einem Diagrammobjekt der Anwendung erstellt.

Ladeskript

```
SET DateFormat='MM/DD/YYYY'; 
Transactions: 
Load 
* 
Inline  
[ 
id,date,amount 
8188,'01/13/2020',37.23 
8189,'02/26/2020',17.17
8190,'03/27/2020',88.27 
8191,'04/16/2020',57.42 
8192,'05/21/2020',53.80 
8193,'08/14/2020',82.06 
8194,'10/07/2020',40.39 
8195,'12/05/2020',87.21 
8196,'01/22/2021',95.93 
8197,'02/03/2021',45.89 
8198,'03/17/2021',36.23 
8199,'04/23/2021',25.66 
8200,'05/04/2021',82.77 
8201,'06/30/2021',69.98 
8202,'07/26/2021',76.11 
8203,'12/27/2021',25.12 
8204,'06/06/2022',46.23 
8205,'07/18/2022',84.21 
8206,'11/14/2022',96.24 
8207,'12/12/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 Jahr wie der 26. Juli 2021 stattfanden, erstellen Sie die folgende Kennzahl:

* `=inyear(date,'07/26/2021', 0)`

Ergebnistabelle

| Datum | =inyear(date,'07/26/2021',0) |
| --- | --- |
| 01/13/2020 | 0 |
| 02/26/2020 | 0 |
| 03/27/2020 | 0 |
| 04/16/2020 | 0 |
| 05/21/2020 | 0 |
| 08/14/2020 | 0 |
| 10/07/2020 | 0 |
| 12/05/2020 | 0 |
| 01/22/2021 | -1 |
| 02/03/2021 | -1 |
| 03/17/2021 | -1 |
| 04/23/2021 | -1 |
| 05/04/2021 | -1 |
| 06/30/2021 | -1 |
| 07/26/2021 | -1 |
| 12/27/2021 | -1 |
| 06/06/2022 | 0 |
| 07/18/2022 | 0 |
| 11/14/2022 | 0 |
| 12/12/2022 | 0 |

Das Feld „`in_year`“ wird im Diagramm mithilfe der Funktion `inyear()` erstellt. Das erste Argument identifiziert, welches Feld ausgewertet wird. Das zweite Argument ist ein hartcodiertes Datum, der 26. Juli 2021. Dies ist das `base_date`, das das Vergleichsjahr bestimmt. Eine `period_no` von `0` ist das abschließende Argument, was bedeutet, dass die Funktion `inyear()` keine Jahre vor oder nach dem Jahr vergleicht.

Diagramm des Bereichs der Funktion `inyear()` mit dem 27. Juli als Basisdatum.

Diagramm des Bereichs der Funktion `inyear()` mit dem 27. Juli als Basisdatum.

Diagramm des Bereichs der Funktion `inyear()`inyear() mit dem 27. Juli als Basisdatum. ![Diagramm der Funktion „inyear()“ mit dem 27. Juli als Basisdatum. Der Zeitbereich vom 1. Januar 2021 bis zum 1. Januar 2022 ist hervorgehoben.](https://help.qlik.com/de-DE/sense/November2025/Subsystems/Hub/Content/Resources/Images/scripting-functions-inyear-examples1_and4-diagram.png)

Jede Transaktion, die im Jahr 2021 stattfindet, gibt ein boolesches Ergebnis von TRUE zurück.

## Beispiel 5 – Szenario

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/inyear.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 Diagrammobjekt, das nach Produkttyp die Kosten der im Jahr 2021 gefertigten Produkte anzeigt.

Ladeskript

```
Products: 
Load 
* 
Inline  
[ 
product_id,product_type,manufacture_date,cost_price 
8188,product A,'01/13/2020',37.23 
8189,product B,'02/26/2020',17.17 
8190,product B,'03/27/2020',88.27 
8191,product C,'04/16/2020',57.42 
8192,product D,'05/21/2020',53.80 
8193,product D,'08/14/2020',82.06 
8194,product C,'10/07/2020',40.39 
8195,product B,'12/05/2020',87.21
8196,product A,'01/22/2021',95.93 
8197,product B,'02/03/2021',45.89 
8198,product C,'03/17/2021',36.23 
8199,product C,'04/23/2021',25.66
8200,product B,'05/04/2021',82.77 
8201,product D,'06/30/2021',69.98 
8202,product D,'07/26/2021',76.11 
8203,product D,'12/27/2021',25.12 
8204,product C,'06/06/2022',46.23 
8205,product C,'07/18/2022',84.21 
8206,product A,'11/14/2022',96.24 
8207,product B,'12/12/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:

* product\_type

Um die Summe für jedes Produkt zu berechnen, das 2021 gefertigt wurde, erstellen Sie die folgende Kennzahl:

* =sum(if(InYear(manufacture\_date,makedate(2021,01,01),0),cost\_price,0))

Gehen Sie folgendermaßen vor:

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

2. Deaktivieren Sie unter Darstellung die Option Gesamtwerte.

Ergebnistabelle

| product\_type | =sum(if(InYear(manufacture\_date,makedate(2021,01,01),0),cost\_price,0)) |
| --- | --- |
| Produkt A | $95.93 |
| Produkt B | $128.66 |
| Produkt C | $61.89 |
| Produkt D | $171.21 |

Die Funktion inyear() gibt einen booleschen Wert zurück, wenn sie das Herstellungsdatum der einzelnen Produkte auswertet. Für alle 2021 hergestellten Produkte gibt die Funktion inyear() einen booleschen Wert von TRUE zurück und zeigt die Summe für cost\_price an.