# inyeartodate - Skript- und Diagrammfunktion

Diese Funktion liefert True, wenn timestamp in dem laufenden Jahr mit base\_date bis einschließlich der letzten Millisekunde von base\_date liegt.

Syntax:

InYearToDate (timestamp, base\_date, period\_no[, first\_month\_of\_year])

Rückgabe Datentyp: Boolesch

Informationshinweis

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

Diagramm der Funktion „inyeartodate“

Diagramm der Funktion „inyeartodate“

Diagramm der Funktion „inyeartodate“ ![Beispieldiagramm für den Datumsbereich, innerhalb dessen die Funktion „inyeartodate“ einen Wert von TRUE zurückgibt.](https://help.qlik.com/de-DE/sense/May2025/Subsystems/Hub/Content/Resources/Images/scripting-functions-inyeartodate-general.png)

Die Funktion `inyeartodate()` segmentiert einen bestimmten Teil des Jahres, wobei das `base_date` das späteste zulässige Datum für das Jahressegment definiert. Die Funktion wertet dann aus, ob ein Datumsfeld oder Wert in dieses Segment fällt und gibt ein boolesches Ergebnis zurück.

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

## Verwendung

Die Funktion `inyeartodate()` gibt einen booleschen Wert zurück. In der Regel wird dieser Funktionstyp als Bedingung in einem `if`-Ausdruck verwendet. Damit wird eine Aggregierung oder Berechnung zurückgegeben, abhängig davon, ob ein ausgewertetes Datum in das Jahr bis einschließlich zum betreffenden Datum fällt.

Beispielsweise kann die Funktion `inyeartodate()` verwendet werden, um alle in einem Jahr bis zu einem bestimmten Datum gefertigten Geräte zu identifizieren.

In diesen Beispielen wird das Datumsformat MM/TT/JJJJ verwendet. Das Datumsformat wird im Befehl `SET DateFormat` oben in Ihrem Datenladeskript angegeben. Ändern Sie das Format in den Beispielen nach Bedarf.

Funktionsbeispiele

| Beispiel | Ergebnis |
| --- | --- |
| `inyeartodate ('01/25/2013', '02/01/2013', 0)` | Gibt `TRUE` zurück. |
| `inyeartodate ('01/25/2012', '01/01/2013', 0)` | Gibt `FALSE` zurück. |
| `inyeartodate ('01/25/2012', '02/01/2013', -1)` | Gibt `TRUE` zurück. |
| `inyeartodate ('11/25/2012', '01/31/2013', 0, 4)` | Liefert `TRUE`.<br>Der Wert von `timestamp` fällt in das Geschäftsjahr, das im vierten Monat beginnt, und vor den Wert von `base_date`. |
| `inyeartodate ('3/31/2013', '01/31/2013', 0, 4 )` | Liefert `FALSE`.<br>Im Vergleich zum vorherigen Beispiel, liegt der Wert von `timestamp` noch im Geschäftsjahr, aber nach dem Wert von `base_date` und deshalb außerhalb des Teils des Jahres. |

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

## Beispiel 1 – keine zusätzlichen Argumente

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/inyeartodate.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.

* Das Datumsfeld wird im Format der Systemvariablen `DateFormat` (MM/TT/JJJJ) bereitgestellt.

* Die Erstellung eines Felds `in_year_to_date`, das bestimmt, welche Transaktionen im Jahr bis zum 26. Juli 2021 stattfanden.

Ladeskript

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

Transactions:
    Load
        *,
        inyeartodate(date,'07/26/2021', 0) as in_year_to_date
        ;
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,'06/14/2020',82.06
8194,'08/07/2020',40.39
8195,'09/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,'07/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_to_date`

Ergebnistabelle

| Datum | in\_year\_to\_date |
| --- | --- |
| 01/13/2020 | 0 |
| 02/26/2020 | 0 |
| 03/27/2020 | 0 |
| 04/16/2020 | 0 |
| 05/21/2020 | 0 |
| 06/14/2020 | 0 |
| 08/07/2020 | 0 |
| 09/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 |
| 07/27/2021 | 0 |
| 06/06/2022 | 0 |
| 07/18/2022 | 0 |
| 11/14/2022 | 0 |
| 12/12/2022 | 0 |

Das Feld „`in_year_to_date`“ wird im vorangehenden load-Befehl mithilfe der Funktion `inyeartodate()` erstellt. Das erste angegebene Argument identifiziert, welches Feld ausgewertet wird.

Das zweite Argument ist ein hardcodiertes Datum für den 26. Juli 2021. Dies ist das `base_date`, das die Endbegrenzung des Jahressegments identifiziert. Eine `period_no` von 0 ist das abschließende Argument, was bedeutet, dass die Funktion keine Jahre vor oder nach dem segmentierten Jahr vergleicht.

Diagramm der Funktion „inyeartodate“, keine zusätzlichen Argumente

Diagramm der Funktion „inyeartodate“, keine zusätzlichen Argumente

Diagramm der Funktion „inyeartodate“, keine zusätzlichen Argumente![Diagramm mit dem Datumsbereich, für den die Funktion „inyeartodate“ einen Wert von TRUE zurückgibt.](https://help.qlik.com/de-DE/sense/May2025/Subsystems/Hub/Content/Resources/Images/scripting-functions-inyeartodate-examples-no-additional-arguments.png)

Jede Transaktion, die zwischen dem 1. Januar und 26. Juli stattfindet, gibt ein boolesches Ergebnis von `TRUE` zurück. Transaktionen vor 2021 und nach dem 26. Juli 2021 geben `FALSE` zurück.

## Beispiel 2 – period\_no

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

#### Ladeskript und Ergebnisse

Übersicht

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

Das Ladeskript umfasst:

* Derselbe Datensatz und dasselbe Szenario wie im ersten Beispiel.

* Die Erstellung eines Felds `previous_year_to_date`, das bestimmt, welche Transaktionen ein ganzes Jahr vor dem Jahressegment stattfanden, das am 26. Juli 2021 endet.

Ladeskript

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

Transactions:
    Load
        *,
        inyeartodate(date,'07/26/2021', -1) as previous_year_to_date
        ;
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,'06/14/2020',82.06
8194,'08/07/2020',40.39
8195,'09/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,'07/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_to_date`

Ergebnistabelle

| Datum | previous\_year\_to\_date |
| --- | --- |
| 01/13/2020 | -1 |
| 02/26/2020 | -1 |
| 03/27/2020 | -1 |
| 04/16/2020 | -1 |
| 05/21/2020 | -1 |
| 06/14/2020 | -1 |
| 08/07/2020 | 0 |
| 09/05/2020 | 0 |
| 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 |
| 07/27/2021 | 0 |
| 06/06/2022 | 0 |
| 07/18/2022 | 0 |
| 11/14/2022 | 0 |
| 12/12/2022 | 0 |

Ein `period_no`-Wert von -1 gibt an, dass die Funktion `inyeartodate ()` das Eingabequartalssegment mit dem vorherigen Jahr vergleicht. Mit dem Eingabedatum 26. Juli 2021 wurde das Segment vom 1. Januar 2021 bis 26. Juli 2021 zuerst als „Jahr bis dato“ identifiziert. Die `period_no` verschiebt dann dieses Segment um ein volles Jahr zurück, sodass die Datumsgrenzen der 1. Januar bis zum 26. Juli 2020 werden.

Diagramm der Funktion „inyeartodate“, Beispiel „period\_no“

Diagramm der Funktion „inyeartodate“, Beispiel „period\_no“

Diagramm der Funktion „inyeartodate“, Beispiel „period\_no“![Diagramm mit dem Datumsbereich, für den die Funktion „inyeartodate“ einen Wert von TRUE zurückgibt.](https://help.qlik.com/de-DE/sense/May2025/Subsystems/Hub/Content/Resources/Images/scripting-functions-inyeartodate-examples-period-no.png)

Daher gibt jede Transaktion, die zwischen dem 1. Januar und dem 26. Juli 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/inyeartodate.htm)

#### Ladeskript und Ergebnisse

Übersicht

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

Das Ladeskript umfasst:

* Derselbe Datensatz und dasselbe Szenario wie im ersten Beispiel.

* Die Erstellung eines Felds `in_year_to_date`, das bestimmt, welche Transaktionen im gleichen Jahr bis zum 26. Juli 2021 stattfanden.

In diesem Beispiel wird März als erster Monat des Geschäftsjahrs festgelegt.

Ladeskript

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

Transactions:
    Load
        *,
        inyeartodate(date,'07/26/2021', 0,3) as in_year_to_date
        ;
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,'06/14/2020',82.06
8194,'08/07/2020',40.39
8195,'09/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,'07/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_to_date`

Ergebnistabelle

| Datum | in\_year\_to\_date |
| --- | --- |
| 01/13/2020 | 0 |
| 02/26/2020 | 0 |
| 03/27/2020 | 0 |
| 04/16/2020 | 0 |
| 05/21/2020 | 0 |
| 06/14/2020 | 0 |
| 08/07/2020 | 0 |
| 09/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 |
| 07/27/2021 | 0 |
| 06/06/2022 | 0 |
| 07/18/2022 | 0 |
| 11/14/2022 | 0 |
| 12/12/2022 | 0 |

Indem 3 als das Argument `first_month_of_year` in der Funktion `inyeartodate()` verwendet wird, beginnt die Funktion das Jahr am 1. März. Das `base_date` vom 26. Juli 2021 legt dann das Enddatum für dieses Jahressegment fest.

Diagramm der Funktion „inyeartodate“, Beispiel „first\_month\_of\_year“

Diagramm der Funktion „inyeartodate“, Beispiel „first\_month\_of\_year“

Diagramm der Funktion „inyeartodate“, Beispiel „first\_month\_of\_year“ ![Diagramm mit dem Datumsbereich, für den die Funktion „inyeartodate“ einen Wert von TRUE zurückgibt.](https://help.qlik.com/de-DE/sense/May2025/Subsystems/Hub/Content/Resources/Images/scripting-functions-inyeartodate-examples-first-mth-yr.png)

Daher gibt jede Transaktion, die zwischen dem 1. März und dem 26. Juli 2021 stattfand, ein boolesches Ergebnis von `TRUE` zurück, während Transaktionen mit Datum außerhalb dieser Grenzen einen Wert von `FALSE` zurückgeben.

## Beispiel 4 – Diagrammobjektbeispiel

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

#### Ladeskript und Diagrammformel

Übersicht

Öffnen Sie den Dateneditor und fügen Sie das Ladeskript unten in eine neue Registerkarte ein.

Das Ladeskript verwendet den gleichen Datensatz und das gleiche Szenario wie das erste Beispiel. In diesem Beispiel wird jedoch der unveränderte Datensatz in die Anwendung geladen. Die Berechnung, die bestimmt, ob Transaktionen im gleichen Jahr bis zum 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,'06/14/2020',82.06 
8194,'08/07/2020',40.39 
8195,'09/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,'07/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.

Erstellen Sie die folgende Kennzahl:

=inyeartodate(date,'07/26/2021', 0)

Ergebnistabelle

| Datum | =inyeartodate(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 |
| 06/14/2020 | 0 |
| 08/07/2020 | 0 |
| 09/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 |
| 07/27/2021 | 0 |
| 06/06/2022 | 0 |
| 07/18/2022 | 0 |
| 11/14/2022 | 0 |
| 12/12/2022 | 0 |

Die Kennzahl in\_year\_to\_date wird im Diagrammobjekt anhand der Funktion inyeartodate() erstellt. Das erste angegebene Argument identifiziert, welches Feld ausgewertet wird. Das zweite Argument ist ein hardcodiertes Datum für den 26. Juli 2021. Dies ist das base\_date, das die Endbegrenzung des Vergleichsjahressegments identifiziert. Eine period\_no von 0 ist das abschließende Argument, was bedeutet, dass die Funktion keine Jahre vor oder nach dem segmentierten Jahr vergleicht.

Diagramm der Funktion „inyeartodate“, Diagrammobjektbeispiel

Diagramm der Funktion „inyeartodate“, Diagrammobjektbeispiel

Diagramm der Funktion „inyeartodate“, Diagrammobjektbeispiel![Diagramm mit dem Datumsbereich, für den die Funktion „inyeartodate“ einen Wert von TRUE zurückgibt.](https://help.qlik.com/de-DE/sense/May2025/Subsystems/Hub/Content/Resources/Images/scripting-functions-inyeartodate-examples-chart-object.png)

Jede Transaktion, die zwischen dem 1. Januar und dem 26. Juli 2021 stattfindet, gibt ein boolesches Ergebnis von TRUE zurück. Transaktionen mit Datum vor 2021 und nach dem 26. Juli 2021 geben FALSE zurück.

## Beispiel 5 – Szenario

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

#### Ladeskript und Diagrammformel

Übersicht

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

Das Ladeskript umfasst:

* Ein Datensatz, der in eine Tabelle namens Products geladen wird.

* Informationen bezüglich Produkt-ID, Produkttyp, Herstellungsdatum und Selbstkosten.

Der Endbenutzer möchte ein Diagrammobjekt, das nach Produkttyp die Kosten der im Jahr 2021 bis zum 26. Juli 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.

Erstellen Sie eine Kennzahl, die die Summe für jedes Produkt berechnet, das 2021 vor dem 27. Juli gefertigt wurde:

=sum(if(inyeartodate(manufacture\_date,makedate(2021,07,26),0),cost\_price,0))

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

Ergebnistabelle

| product\_type | =sum(if(inyeartodate(manufacture\_date,makedate(2021,07,26),0),cost\_price,0)) |
| --- | --- |
| Produkt A | $95.93 |
| Produkt B | $128.66 |
| Produkt C | $61.89 |
| Produkt D | $146.09 |

Die Funktion inyeartodate() gibt einen booleschen Wert zurück, wenn sie das Herstellungsdatum der einzelnen Produkte auswertet. Für alle 2021 vor dem 27. Juli hergestellten Produkte gibt die Funktion inyeartodate() einen booleschen Wert von TRUE zurück und summiert cost\_price.

Produkt D ist das einzige Produkt, das auch nach dem 26. Juli 2021 hergestellt wurde. Der Eintrag mit product\_ID 8203 wurde am 27. Dezember gefertigt, und die Kosten betrugen $25.12. Daher wurden diese Kosten nicht in den Gesamtbetrag für Produkt D im Diagrammobjekt eingeschlossen.