# year funkcja skryptu i funkcja wykresu

Ta funkcja zwraca liczbę całkowitą reprezentującą rok, gdy wyrażenie expression jest interpretowane jako data zgodnie ze standardową interpretacją liczb.

Składnia:

year(expression)

Typ zwracanych danych: liczba całkowita

Funkcja `year()` jest dostępna zarówno jako skrypt, jak i funkcja wykresu. Funkcja ta zwraca rok dla określonej daty. Jest używana do tworzenia pola roku jako wymiaru w kalendarzu głównym.

## Kiedy używać year

Funkcja `year()` jest przydatna, gdy chcesz porównać agregacje w ujęciu rocznym. Można jej na przykład użyć, aby wyświetlić całkowitą sprzedaż produktów w ujęciu rocznym.

Te wymiary można utworzyć w skrypcie ładowania za pomocą funkcji tworzenia pola w tabeli kalendarza głównego. Ewentualnie można jej użyć bezpośrednio na wykresie jako wymiaru wyliczanego.

Przykłady funkcji

| Przykład | Wynik |
| --- | --- |
| `year(<br>'2012-10-12' )` | zwraca 2012 |
| `year(<br>'35648' )` | zwraca 1997, ponieważ 35648 = 1997-08-06 |

## Ustawienia regionalne

Jeżeli nie podano inaczej, w przykładach w tym temacie stosowany jest następujący format daty: MM/DD/YYYY. Format daty jest określony w instrukcji `SET DateFormat` w skrypcie ładowania danych. Domyślny format daty w Twoim systemie może być inny ze względu na ustawienia regionalne i inne czynniki. Formaty zastosowane w przykładach można zmienić, aby dostosować je do własnych wymagań. Zamiast tego można też zmienić formaty w skrypcie ładowania, aby pasowały do tych przykładów. Więcej informacji można znaleźć w temacie [Modyfikowanie ustawień regionalnych na potrzeby aplikacji i skryptów](https://help.qlik.com/pl-PL/cloud-services/Subsystems/Hub/Content/Sense_Hub/Apps/regional-settings-in-apps.htm).

Domyślne ustawienia regionalne w aplikacjach są oparte na profilu użytkownika. Te ustawienia regionalne nie są związane z językiem wyświetlanym w interfejsie użytkownika Qlik Cloud. Interfejs Qlik Cloud będzie wyświetlany w tym samym języku co używana przeglądarka.

Jeżeli jesteś twórcą aplikacji, możesz wybrać domyślny region dla tworzonych przez siebie aplikacji. Więcej informacji zawiera temat [Ustawianie preferowanych ustawień regionalnych do tworzenia aplikacji i skryptów w Analityka Qlik Cloud](https://help.qlik.com/pl-PL/cloud-services/Subsystems/Hub/Content/Sense_Hub/UserInterface/Languages.htm#Setting).

## Przykład 1 – zbiór danych DateFormat (skrypt)

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

#### Skrypt ładowania i wyniki

Przegląd

Otwórz Edytor ładowania danych i poniżej dodaj skrypt ładowania do nowej sekcji.

Skrypt ładowania zawiera:

* Zestaw danych zawierający daty, który jest załadowany do tabeli o nazwie `Master Calendar`.

* Została użyta domyślna zmienna systemowa `DateFormat` MM/DD/RRRR.

* Ładowanie poprzedzające, tworzące dodatkowe pole `year` przy użyciu funkcji `year()`.

Skrypt ładowania

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

Wyniki

Załaduj dane i otwórz arkusz. Utwórz nową tabelę i dodaj te pola jako wymiary:

* `date`

* `year`

Tabela wynikowa

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

## Przykład 2 – Daty ANSI

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

#### Skrypt ładowania i wyniki

Przegląd

Otwórz Edytor ładowania danych i poniżej dodaj skrypt ładowania do nowej sekcji.

Skrypt ładowania zawiera:

* Zestaw danych zawierający daty, który jest załadowany do tabeli o nazwie `Master Calendar`.

* Została użyta domyślna zmienna systemowa `DateFormat` MM/DD/RRRR. Natomiast daty w zbiorze danych są w standardowym formacie daty ANSI.

* Ładowanie poprzedzające, tworzące dodatkowe pole (o nazwie `year`) przy użyciu funkcji `year()`.

Skrypt ładowania

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

Wyniki

Załaduj dane i otwórz arkusz. Utwórz nową tabelę i dodaj te pola jako wymiary:

* `date`

* `year`

Tabela wynikowa

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

## Przykład 3 – Niesformatowane daty

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

#### Skrypt ładowania i wyniki

Przegląd

Otwórz Edytor ładowania danych i poniżej dodaj skrypt ładowania do nowej sekcji.

Skrypt ładowania zawiera:

* Zestaw danych zawierający daty w formacie numerycznym, który jest załadowany do tabeli o nazwie `Master Calendar`.

* Została użyta domyślna zmienna systemowa `DateFormat` MM/DD/RRRR.

* Poprzednie polecenie LOAD, tworzące dodatkowe pole (`year`) przy użyciu funkcji `year()`.

Oryginalna niesformatowana data zostaje załadowana i nazwana `unformatted_date`. Ponadto, dla jasności, zostało użyte dodatkowe pole, o nazwie `long_date`, które służy do konwersji numerycznej daty na sformatowane pole daty za pomocą funkcji `date()`.

Skrypt ładowania

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

Wyniki

Załaduj dane i otwórz arkusz. Utwórz nową tabelę i dodaj te pola jako wymiary:

* `unformatted_date`

* `long_date`

* `year`

Tabela wynikowa

| nieformatowana\_data | długa\_data | rok |
| --- | --- | --- |
| 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 |

## Przykład 4 — przykład z obiektem wykresu

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

#### Skrypt ładowania i wyrażenie wykresu

Przegląd

Otwórz Edytor ładowania danych i poniżej dodaj skrypt ładowania do nowej karty.

W tym przykładzie zestaw danych złożonych zamówień jest ładowany do tabeli o nazwie Sales. Tabela zawiera trzy pola:

* id

* sales\_date

* amount

Sprzedawane produkty są objęte dwuletnią gwarancją od daty sprzedaży. Zadanie dotyczy utworzenia na wykresie miary określającej rok zakończenia okresu każdej gwarancji.

Skrypt ładowania

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

Wyniki

Załaduj dane i otwórz arkusz. Utwórz nową tabelę i dodaj to pole jako wymiar: sales\_date.

Utwórz następującą miarę:

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

Tabela wynikowa

| data\_sprzedaży | =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 |

Wyniki tej miary można zobaczyć w powyższej tabeli. Aby dodać dwa lata do daty, należy pomnożyć 365 przez 2 i dodać wynik do daty sprzedaży. W związku z tym, w przypadku produktu sprzedanego w 2020 roku termin zakończenia wypada w 2022 roku.