# year – Skript- och diagramfunktion

Denna funktion returnerar ett heltal som motsvarar året om expression tolkas som ett datum enligt standardtolkningen av tal.

Syntax:

year(expression)

Returnerad datatyp: heltal

`year()`-funktionen är tillgänglig både som skript- och diagramfunktionen. Den här funktionen returnerar året för ett visst datum. Den används vanligtvis för att skapa ett årsfält som en dimension i en Master Calendar.

## Användning

Funktionen `year()` är användbar när du vill jämföra sammanställningar per år. Funktionen kan till exempel användas om du vill se den totala försäljningen av produkter per år.

Dessa dimensioner kan antingen skapas i laddningsskriptet genom att använda funktionen för att skapa ett fält i en Master Calendar-tabell. Eller användas direkt i ett diagram som en beräknad dimension.

Exempel på funktioner

| Exempel | Resultat |
| --- | --- |
| `year(<br>'2012-10-12' )` | returnerar 2012 |
| `year(<br>'35648' )` | returnerar 1997, eftersom 35648 = 1997-08-06 |

## Lokala inställningar

Om inget annat anges använder exemplen i detta ämne följande datumformat: MM/DD/ÅÅÅÅ. Datumformatet anges i `SET DateFormat`-satsen i datainläsningsskriptet. Förvald datumformatering kan vara annorlunda i ditt system, på grund av dina regionala inställningar och andra faktorer. Du kan ändra formaten i exemplen nedan så att det passar dina krav. Eller så kan du ändra formaten i ditt laddningsskript så att de matchar dessa exempel.

Standardregionalinställningar i appar baseras på de regionala systeminställningarna för datorn eller servern där Qlik Sense är installerad. Om Qlik Sense-servern du ansluter till är inställd på Sverige så kommer skriptredigeraren använda regionala inställningar för Sverige för datum, tid och valuta. Dessa regionala formatinställningar är inte relaterade till språket som visas i Qlik Sense användargränssnittet. Qlik Sense kommer att visas på samma språk som webbläsaren du använder.

## Exempel 1 – DateFormat datauppsättning (skript)

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

#### Laddningsskript och resultat

Översikt

Öppna dataladdningsredigeraren och lägg till laddningsskriptet nedan i ett nytt delavsnitt.

Laddningsskriptet innehåller:

* En datauppsättning med datum som läses in i en tabell med namnet `Master Calendar`.

* `DateFormat`-standardsystemvariabeln MM/DD/YYYY används.

* En föregående laddning som används för att skapa ytterligare ett fält, `year`, med hjälp av `year()`-funktionen.

Laddningsskript

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

Resultat

Ladda data och öppna ett ark. Skapa en ny tabell och lägg till dessa fält som dimensioner:

* `date`

* `year`

Resultattabell

| datum | år |
| --- | --- |
| 2020-12-28 | 2020 |
| 29/12/2020 | 2020 |
| 30/12/2020 | 2020 |
| 12/31/2020 | 2020 |
| 2021-01-01 | 2021 |
| 02/01/2021 | 2021 |
| 03/01/2021 | 2021 |
| 04/01/2021 | 2021 |
| 05/01/2021 | 2021 |
| 06/01/2021 | 2021 |
| 07/01/2021 | 2021 |

## Exempel 2 – ANSI-datum

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

#### Laddningsskript och resultat

Översikt

Öppna dataladdningsredigeraren och lägg till laddningsskriptet nedan i ett nytt delavsnitt.

Laddningsskriptet innehåller:

* En datauppsättning med datum som läses in i en tabell med namnet `Master Calendar`.

* Standardsystemvariabeln `DateFormat` (MM/DD/YYYY) används. Emellertid är de datum som är inkluderade i datauppsättningen i ANSI:s standarddatumformat.

* En föregående laddning som används för att skapa ytterligare ett fält benämnt `year` med hjälp av `year()`-funktionen.

Laddningsskript

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

Resultat

Ladda data och öppna ett ark. Skapa en ny tabell och lägg till dessa fält som dimensioner:

* `date`

* `year`

Resultattabell

| datum | år |
| --- | --- |
| 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 |

## Exempel 3 – Oformaterade datum

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

#### Laddningsskript och resultat

Översikt

Öppna dataladdningsredigeraren och lägg till laddningsskriptet nedan i ett nytt delavsnitt.

Laddningsskriptet innehåller:

* En datauppsättning med datum i numeriskt format som läses in i en tabell med namnet `Master Calendar`.

* Standardsystemvariabeln `DateFormat` (MM/DD/YYYY) används.

* En föregående laddning som används för att skapa ytterligare ett fält, `year`, med hjälp av `year()`-funktionen.

Det ursprungliga oformaterade datumet, benämnt `unformatted_date`, laddas och för tydlighets skull används ytterligare ett fält benämnt `long_date` för att konvertera det numeriska datumet till ett formaterat datumfält med `date()`-funktionen.

Laddningsskript

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

Resultat

Ladda data och öppna ett ark. Skapa en ny tabell och lägg till dessa fält som dimensioner:

* `unformatted_date`

* `long_date`

* `year`

Resultattabell

| oformaterat\_datum | långt\_datum | år |
| --- | --- | --- |
| 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 |

## Exempel 4 – Diagramobjektexempel

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

#### Laddningsskript och diagramuttryck

Översikt

Öppna skriptredigeraren och lägg till laddningsskriptet nedan i en ny flik.

I det här exemplet laddas en datauppsättning med gjorda beställningar i en tabell som heter Sales. Tabellen innehåller tre fält:

* id

* sales\_date

* amount

Garantier på försäljning av produkter de senaste två åren från datum för försäljningen. Uppgiften är att skapa ett mått i ett diagram för att bestämma vilket år varje garanti kommer att sluta gälla.

Laddningsskript

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

Resultat

Ladda data och öppna ett ark. Skapa en ny tabell och lägg till det här fältet som en dimension: sales\_date.

Skapa följande mått:

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

Resultattabell

| försäljningsdatum | =år(försäljningsdatum+365\*2) |
| --- | --- |
| 2020-12-28 | 2022 |
| 29/12/2020 | 2022 |
| 30/12/2020 | 2022 |
| 12/31/2020 | 2022 |
| 2021-01-01 | 2023 |
| 02/01/2021 | 2023 |
| 03/01/2021 | 2023 |
| 04/01/2021 | 2023 |
| 05/01/2021 | 2023 |
| 06/01/2021 | 2023 |
| 07/01/2021 | 2023 |

Resultatet av det här måttet återfinns i ovanstående tabell. För att lägga till ett år till ett datum multiplicerar du 365 med 2 och lägger till resultatet i försäljningsdatumet. Därför har försäljning som ägde rum under 2020 utgångsåret 2022.