# inyear - script- en diagramfunctie

Deze functie retourneert True als timestamp binnen het jaar valt dat base\_date bevat.

Syntaxis:

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

Retourgegevenstypen: Booleaanse waarde

In Qlik Sense wordt de booleaanse waarde Waar vertegenwoordigd door -1 en de waarde Onwaar door 0.

Diagram van het bereik van de `inyear()`-functie

Diagram van het bereik van de `inyear()`-functie

Diagram van het bereik van de `inyear()`inyear()-functie ![Diagram dat het tijdbereik weergeeft die de inyear()-functie evalueert en een booleaans resultaat retourneert, afhankelijk van de plaatsing van de basisdatum.](https://help.qlik.com/nl-NL/sense/November2024/Subsystems/Hub/Content/Resources/Images/scripting-functions-inyear-diagram1.png)

De `inyear()`-functie retourneert een booleaans resultaat wanneer de geselecteerde datumwaarde worden vergeleken met een jaar dat is gedefinieerd door de `base_date`.

Wanneer gebruiken

De functie `inyear()` retourneert een booleaanse waarde. Dit type functie wordt doorgaans gebruikt als voorwaarde in een `if expression`. Hierdoor wordt een aggregatie of berekening geretourneerd, afhankelijk van het feit of een geëvalueerde datum in het desbetreffende jaar plaatsvond. De `inyear()`-functie kan bijvoorbeeld worden gebruikt om alle verkoop te identificeren die in een bepaald jaar heeft plaatsgevonden.

Argumenten

| Argument | Beschrijving |
| --- | --- |
| timestamp | De datum die u wilt vergelijken met base\_date. |
| base\_date | Datum op basis waarvan het jaar wordt geëvalueerd. |
| period\_no | Het jaar kan worden verschoven met period\_no. period\_no is een geheel getal, waarbij de waarde 0 het jaar aangeeft dat base\_date bevat. Negatieve waarden in period\_no geven voorafgaande jaren aan en positieve waarden geven volgende jaren aan. |
| first\_month\_of\_year | Als u wilt werken met (boek)jaren die niet in januari beginnen, geeft u een waarde op tussen 2 en 12 in first\_month\_of\_year. |

U kunt de volgende waarden gebruiken om de eerste maand van het jaar in te stellen in het argument `first_month_of_year`:

waarden first\_month\_of\_year

| Month | Waarde |
| --- | --- |
| Februari | 2 |
| Maart | 3 |
| April | 4 |
| May | 5 |
| Juni | 6 |
| Juli | 7 |
| Augustus | 8 |
| September | 9 |
| Oktober | 10 |
| November | 11 |
| December | 12 |

## Landinstellingen

Tenzij anders aangegeven, wordt in de voorbeelden in dit onderwerp de volgende datumindeling gebruikt: MM/DD/JJJJ. De datumopmaak wordt opgegeven in de opdracht `SET DateFormat` in uw script voor het laden van gegevens. De standaard datumindeling is mogelijk anders op uw systeem vanwege landinstellingen en andere factoren. U kunt de indelingen in de voorbeelden wijzigen zodat deze aansluiten op uw behoeften. Of u kunt de indelingen in uw load-script wijzigen zodat ze overeenkomen met deze voorbeelden.

Standaard landinstellingen in apps zijn gebaseerd op de regionale systeeminstellingen van de computer of server waarop Qlik Sense is geïnstalleerd. Als de Qlik Sense-server die u gebruikt is ingesteld op Zweden, gebruikt de editor voor laden van gegevens de Zweedse landinstellingen voor datums, tijd en valuta. Deze landinstellingen voor indelingen zijn niet gerelateerd aan de taal die wordt weergegeven in de gebruikersinterface van Qlik Sense. Qlik Sense wordt weergegeven in dezelfde taal als de browser die u gebruikt.

Voorbeelden van functies

| Voorbeeld | Resultaat |
| --- | --- |
| `inyear ('01/25/2013', '01/01/2013', 0 )` | Retourneert TRUE |
| `inyear ('01/25/2012', '01/01/2013', 0)` | Retourneert FALSE |
| `inyear ('01/25/2013', '01/01/2013', -1)` | Retourneert FALSE |
| `inyear ('01/25/2012', '01/01/2013', -1 )` | Retourneert TRUE |
| `inyear ('01/25/2013', '01/01/2013', 0, 3)` | Retourneert TRUE<br><br>De waarde van de `base_date` en de `first_month_of_year` specificeren dat een tijdstempel tussen 01/03/2012 en 02/28/2013 moet vallen |
| `inyear ('03/25/2013', '07/01/2013', 0, 3 )` | Retourneert TRUE |

## Voorbeeld 1 – Basisvoorbeeld

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

#### Load-script en resultaten

Overzicht

Open de editor voor laden van gegevens en voeg het onderstaande load-script toe aan een nieuw tabblad.

Het load-script bevat:

* Een gegevensverzameling met een set transacties tussen 2020 en 2022 die wordt geladen in de tabel `Transactions`.

* Een voorafgaande lading met de `inyear()`-functie die is ingesteld als het `in_year`-veld en die bepaalt welke transacties in hetzelfde jaar hebben plaatsgevonden als het jaar waarin 26 juli 2021 valt.

Load-script

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

Resultaten

Laad de gegevens en open een werkblad. Maak een nieuwe tabel en voeg deze velden toe als dimensies:

* `date`
* `in_year`

Resultatentabel

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

Het veld `in_year` wordt gemaakt in de vorige load-instructie met behulp van de functie `inyear()`. Het eerste argument identificeert welk veld wordt geëvalueerd. Het tweede argument is een vastgestelde datum voor 26 juli 2021. Dit is de `base_date` die het jaar bepaalt waarmee de vergelijking moet worden gedaan. Een `period_no` van `0` is het laatste argument, wat betekent dat de `inyear()`-functie geen jaren voor of na het jaar vergelijkt.

Diagram van het bereik van de `inyear()`-functie met 26 juli als de basisdatum

Diagram van het bereik van de `inyear()`-functie met 26 juli als de basisdatum

Diagram van het bereik van de `inyear()`inyear()-functie met 26 juli als de basisdatum ![Diagram van de inyear()-functie met 26 juli als de basisdatum en een gemarkeerd tijdbereik van 1 januari 2021 tot 1 januari 2022.](https://help.qlik.com/nl-NL/sense/November2024/Subsystems/Hub/Content/Resources/Images/scripting-functions-inyear-examples1_and4-diagram.png)

Een transactie die in 2021 plaatsvindt, retourneert een booleaans resultaat voor TRUE.

## Voorbeeld 2 – period\_no

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

#### Load-script en resultaten

Overzicht

Open de editor voor laden van gegevens en voeg het onderstaande load-script toe aan een nieuw tabblad.

Het load-script bevat:

* Een gegevensset met een set transacties tussen 2020 en 2022 die wordt geladen in de tabel `Transactions`.

* Een voorafgaande lading met de `inyear()`-functie die is ingesteld als het `previous_year`-veld en die bepaalt welke transacties in hetzelfde jaar hebben plaatsgevonden als het jaar waarin 26 juli 2021 valt.

Load-script

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

Resultaten

Laad de gegevens en open een werkblad. Maak een nieuwe tabel en voeg deze velden toe als dimensies:

* `date`
* `previous_year`

Resultatentabel

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

Met `-1` als het `period_no`-argument in de `inyear()`-functie verschuiven de grenzen van het jaar waarmee de vergelijking moet worden gedaan met een heel jaar. 2021 wordt aanvankelijk geïdentificeerd als het jaar voor de vergelijking. De `period_no` verschuift het jaar waarmee moet worden vergeleken met één jaar waardoor 2020 het jaar is voor de vergelijking.

Diagram van het bereik van de `inyear()`-functie met het argument voor de period\_no ingesteld op `-1`

Diagram van het bereik van de `inyear()`-functie met het argument voor de period\_no ingesteld op `-1`

Diagram van het bereik van de `inyear()`inyear()-functie met het argument voor de period\_no ingesteld op `-1`-1 ![Diagram van de inyear()-functie waarbij 26 juli de basisdatum is en het argument voor de period_no is ingesteld op -1.](https://help.qlik.com/nl-NL/sense/November2024/Subsystems/Hub/Content/Resources/Images/scripting-functions-inyear-example2-diagram.png)

Daarom zal een transactie die in 2020 plaatsvindt, een booleaans resultaat voor TRUE retourneren.

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

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

#### Load-script en resultaten

Overzicht

Open de editor voor laden van gegevens en voeg het onderstaande load-script toe aan een nieuw tabblad.

Het load-script bevat:

* Een gegevensset met een set transacties tussen 2020 en 2022 die wordt geladen in de tabel `Transactions`.

* Een voorafgaande lading met de `inyear()`-functie die is ingesteld als het `in_year`-veld en die bepaalt welke transacties in hetzelfde jaar hebben plaatsgevonden als het jaar waarin 26 juli 2021 valt.

In dit voorbeeld is maart volgens het organisatiebeleid echter de eerste maand van het financiële boekjaar.

Load-script

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

Resultaten

Laad de gegevens en open een werkblad. Maak een nieuwe tabel en voeg deze velden toe als dimensies:

* `date`
* `in_year`

Resultatentabel

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

Met `3` als het `first_month_of_year`-argument in de `inyear()`-functie begint het jaar op 1 maart en eindigt het jaar aan het eind van februari.

Diagram van het tijdsbereik van de `inyear()`-functie met maart ingesteld als de eerste maand van het jaar

Diagram van het tijdsbereik van de `inyear()`-functie met maart ingesteld als de eerste maand van het jaar

Diagram van het tijdsbereik van de `inyear()`inyear()-functie met maart ingesteld als de eerste maand van het jaar ![Diagram van de inyear()-functie waarbij 26 is ingesteld als de basisdatum en de eerste maand van het jaar is ingesteld op maart.](https://help.qlik.com/nl-NL/sense/November2024/Subsystems/Hub/Content/Resources/Images/scripting-functions-inyear-example3-diagram.png)

Daarom zal elke transactie die plaatsvindt tussen 1 maart 2021 en 1 maart 2022 een booleaans resultaat voor TRUE retourneren.

## Voorbeeld 4 – Diagramobjectvoorbeeld

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

#### Load-script en diagramuitdrukking

Overzicht

Dezelfde gegevensverzameling en het scenario uit het eerste voorbeeld worden gebruikt.

In dit voorbeeld is de gegevensverzameling echter niet gewijzigd en wordt in de applicatie geladen. De berekening die bepaalt of transacties al dan niet hebben plaatsgevonden in hetzelfde jaar als 26 juli 2021, wordt als meting in een diagramobject van de applicatie gemaakt.

Load-script

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

Resultaten

Laad de gegevens en open een werkblad. Maak een nieuwe tabel en voeg dit veld toe als dimensie:

* `date`

Om te berekenen of transacties in hetzelfde jaar hebben plaatsgevonden als het jaar waarin 26 juli 2021 valt, maakt u de volgende meting:

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

Resultatentabel

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

Het veld `in_year` wordt in een diagram gemaakt met behulp van de functie `inyear()`. Het eerste argument identificeert welk veld wordt geëvalueerd. Het tweede argument is een vastgestelde datum voor 26 juli 2021. Dit is de `base_date` die het jaar bepaalt waarmee de vergelijking moet worden gedaan. Een `period_no` van `0` is het laatste argument, wat betekent dat de `inyear()`-functie geen jaren voor of na het jaar vergelijkt.

Diagram van het bereik van de `inyear()`-functie met 27 juli als de basisdatum

Diagram van het bereik van de `inyear()`-functie met 27 juli als de basisdatum

Diagram van het bereik van de `inyear()`inyear()-functie met 27 juli als de basisdatum ![Diagram van de inyear()-functie met 27 juli als de basisdatum en een gemarkeerd tijdsbereik van 1 januari 2021 tot 1 januari 2022.](https://help.qlik.com/nl-NL/sense/November2024/Subsystems/Hub/Content/Resources/Images/scripting-functions-inyear-examples1_and4-diagram.png)

Een transactie die in 2021 plaatsvindt, retourneert een booleaans resultaat voor TRUE.

## Voorbeeld 5 – Scenario

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

#### Load-script en resultaten

Overzicht

Open de editor voor laden van gegevens en voeg het onderstaande load-script toe aan een nieuw tabblad.

Het load-script bevat:

* Een gegevensset die in de tabel Products wordt geladen.

* De tabel bevat de volgende velden:

  * product ID

  * producttype

  * productiedatum

  * cost price

De eindgebruiker wil een diagramobject dat, per producttype, de kosten weergeeft van de producten die in 2021 zijn geproduceerd.

Load-script

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

Resultaten

Laad de gegevens en open een werkblad. Maak een nieuwe tabel en voeg dit veld toe als dimensie:

* product\_type

Om de som van elk product dat in 2021 is geproduceerd te berekenen, maakt u de volgende meting:

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

Doe het volgende:

1. Stel de Getalnotatie van de meting in op Geld.

2. Onder Uiterlijk schakelt u Totaal uit.

Resultatentabel

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

De functie inyear() retourneert een booleaanse waarde bij het evalueren van de productiedatums van elk product. Voor elk product dat in 2021 is geproduceerd, retourneert de inyear()-functie een booleaanse waarde voor TRUE en wordt de som van de cost\_priceweergegeven.