# year - script- en diagramfunctie

Deze functie retourneert een geheel getal dat het jaar representeert als de expression wordt geïnterpreteerd als een datum volgens de standaardinterpretatie van getallen.

Syntaxis:

year(expression)

Retourgegevenstypen: geheel getal

De `year()`-functie is beschikbaar zowel als een script- als een diagramfunctie. De functie retourneert het jaar voor een bepaalde datum. Dit wordt vaak gebruikt om een jaarveld te maken als een dimensie in een masterkalender.

## Wanneer gebruiken

De `year()`-functie is handig als u aggregaties per jaar wilt vergelijken. De functie kan bijvoorbeeld worden gebruikt om de totale verkoop van producten per jaar te bekijken.

Deze dimensies kunnen in het load-script worden gemaakt door de functie te gebruiken om een veld in een masterkalendertabel te maken. Hij zou ook rechtstreeks in een diagram kunnen worden gebruikt als een berekende dimensie.

Voorbeelden van functies

| Voorbeeld | Resultaat |
| --- | --- |
| `year(<br>'2012-10-12' )` | retourneert 2012 |
| `year(<br>'35648' )` | retourneert 1997, omdat 35648 = 1997-08-06 |

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

## Voorbeeld 1 - gegevensverzameling DateFormat (script)

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

#### Load-script en resultaten

Overzicht

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

Het load-script bevat:

* Een gegevensverzameling met datums die wordt geladen in de tabel `Master Calendar`.

* De standaard `DateFormat`-systeemvariabele mm/dd/jjjj wordt gebruikt.

* Een voorafgaande lading die wordt gebruikt om een extra veld te maken met de naam `year` met behulp van de `year()`-functie.

Load-script

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

Master_Calendar:

    Load
        date,
        year(date) as year
        ;
Load
date
Inline 
[
date
12/28/2020
12/29/2020
12/30/2020
12/31/2020
01/01/2021
01/02/2021
01/03/2021
01/04/2021
01/05/2021
01/06/2021
01/07/2021
];
```

Resultaten

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

* `date`

* `year`

Resultatentabel

| date | year |
| --- | --- |
| 12/28/2020 | 2020 |
| 12/29/2020 | 2020 |
| 12/30/2020 | 2020 |
| 12/31/2020 | 2020 |
| 01/01/2021 | 2021 |
| 01/02/2021 | 2021 |
| 01/03/2021 | 2021 |
| 01/04/2021 | 2021 |
| 01/05/2021 | 2021 |
| 01/06/2021 | 2021 |
| 01/07/2021 | 2021 |

## Voorbeeld 2 – ANSI-datums

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

#### Load-script en resultaten

Overzicht

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

Het load-script bevat:

* Een gegevensset met datums die wordt geladen in de tabel `Master Calendar`.

* De standaard `DateFormat`-systeemvariabele (mm/dd/jjjj) wordt gebruikt. De datums die zijn opgenomen in de gegevensverzameling hebben echter een standaard ANSI-datumnotatie.

* Een voorafgaande lading die wordt gebruikt om een extra veld te maken met de naam `year` met behulp van de `year()`-functie.

Load-script

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

Master_Calendar:
    Load
        date,
        year(date) as year
        ;
Load
date
Inline 
[
date
2020-12-28
2020-12-29
2020-12-30
2020-12-31
2021-01-01
2021-01-02
2021-01-03
2021-01-04
2021-01-05
2021-01-06
2021-01-07
];
```

Resultaten

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

* `date`

* `year`

Resultatentabel

| date | year |
| --- | --- |
| 2020-12-28 | 2020 |
| 2020-12-29 | 2020 |
| 2020-12-30 | 2020 |
| 2020-12-31 | 2020 |
| 2021-01-01 | 2021 |
| 2021-01-02 | 2021 |
| 2021-01-03 | 2021 |
| 2021-01-04 | 2021 |
| 2021-01-05 | 2021 |
| 2021-01-06 | 2021 |
| 2021-01-07 | 2021 |

## Voorbeeld 3 – Datums zonder notatie

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

#### Load-script en resultaten

Overzicht

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

Het load-script bevat:

* Een gegevensset met datums in numerieke indeling, die wordt geladen in de tabel `Master Calendar`.

* De standaard `DateFormat`-systeemvariabele (mm/dd/jjjj) wordt gebruikt.

* Een voorafgaande lading die wordt gebruikt om een extra veld te maken met de naam `year` met behulp van de `year()`-functie.

De oorspronkelijke, niet-opgemaakte gegevens worden geladen, met de naam `unformatted_date`. Om helderheid te verschaffen, wordt het extra veld `long_date` gebruikt om de numerieke gegevens om te zetten in een opgemaakt datumveld met behulp van de `date()`-functie.

Load-script

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

Master_Calendar:
    Load
        unformatted_date,
        date(unformatted_date) as long_date,
        year(unformatted_date) as year
        ;
Load
unformatted_date
Inline 
[
unformatted_date
44868
44898
44928
44958
44988
45018
45048
45078
45008
45038
45068
];
```

Resultaten

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

* `unformatted_date`

* `long_date`

* `year`

Resultatentabel

| unformatted\_date | long\_date | year |
| --- | --- | --- |
| 44868 | 11/03/2022 | 2022 |
| 44898 | 12/03/2022 | 2022 |
| 44928 | 01/02/2023 | 2023 |
| 44958 | 02/01/2023 | 2023 |
| 44988 | 03/03/2023 | 2023 |
| 45008 | 03/23/2023 | 2023 |
| 45018 | 04/02/2023 | 2023 |
| 45038 | 04/22/2023 | 2023 |
| 45048 | 05/02/2023 | 2023 |
| 45068 | 05/22/2023 | 2023 |
| 45078 | 06/01/2023 | 2023 |

## Voorbeeld 4 – diagramobjectvoorbeeld

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

#### Load-script en diagramuitdrukking

Overzicht

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

In dit voorbeeld wordt een gegevensset met bestellingen geladen in de tabel Verkoop. De tabel bevat drie velden.

* id

* sales\_date

* amount

Garanties bij verkochte producten in de afgelopen twee jaar vanaf de verkoopdatum. Het is de taak om een meting in een diagram te maken om het jaar vast te stellen waarin iedere garantie zal verlopen.

Load-script

```
Sales:
Load
id,
sales_date,
amount
Inline 
[
id,sales_date,amount
1,12/28/2020,231.24,
2,12/29/2020,567.28,
3,12/30/2020,364.28,
4,12/31/2020,575.76,
5,01/01/2021,638.68,
6,01/02/2021,785.38,
7,01/03/2021,967.46,
8,01/04/2021,287.67
9,01/05/2021,764.45,
10,01/06/2021,875.43,
11,01/07/2021,957.35
];
```

Resultaten

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

Maak de volgende meting:

=year(sales\_date+365\*2)

Resultatentabel

| sales\_date | =year(sales\_date+365\*2) |
| --- | --- |
| 12/28/2020 | 2022 |
| 12/29/2020 | 2022 |
| 12/30/2020 | 2022 |
| 12/31/2020 | 2022 |
| 01/01/2021 | 2023 |
| 01/02/2021 | 2023 |
| 01/03/2021 | 2023 |
| 01/04/2021 | 2023 |
| 01/05/2021 | 2023 |
| 01/06/2021 | 2023 |
| 01/07/2021 | 2023 |

De resultaten van deze meting zijn in de bovenstaande tabel te zien. Om twee jaar bij de datum op te tellen, vermenigvuldigt u 365 met 2 en voegt u het resultaat toe aan de verkoopdatum. De verkoop die in 2020 plaatsvond, heeft een vervaljaar van 2022.