# yearname funkcja skryptu i funkcja wykresu

Ta funkcja zwraca rok w zapisie czterocyfrowym jako wartość wyświetlaną z bazową wartością liczbową odpowiadającą znacznikowi czasu pierwszej milisekundy pierwszego dnia roku zawierającego datę date.

Wykres zakresu czasu funkcji `yearname()`.

Wykres zakresu czasu funkcji `yearname()`.

Wykres zakresu czasu funkcji `yearname()`yearname(). ![Diagram przedstawiający zakres czasu, w którym funkcja yearname zwróci wynik.](https://help.qlik.com/pl-PL/cloud-services/Subsystems/Hub/Content/Resources/Images/scripting-functions-yearname-diagram1.png)

Funkcja `yearname()` różni się od funkcji `year()`, ponieważ umożliwia przesunięcie daty, którą chcesz ocenić, oraz ustawienie pierwszego miesiąca roku.

Jeśli pierwszym miesiącem roku nie jest styczeń, funkcja zwróci dwa czterocyfrowe lata z dwunastomiesięcznego okresu zawierającego datę. Na przykład, jeśli początek roku to kwiecień, a ocenianą datą jest 06/30/2020, zwróconym wynikiem będzie `2020-2021`.

Wykres funkcji `yearname()` z kwietniem jako pierwszym miesiącem roku.

Wykres funkcji `yearname()` z kwietniem jako pierwszym miesiącem roku.

Wykres funkcji `yearname()`yearname() z kwietniem jako pierwszym miesiącem roku. ![Diagram pokazujący, że funkcja yearname może identyfikować daty w okresie dwunastu miesięcy i że jej zwracana wartość może zależeć od tego, który miesiąc jest ustawiony jako pierwszy miesiąc roku.](https://help.qlik.com/pl-PL/cloud-services/Subsystems/Hub/Content/Resources/Images/scripting-functions-yearname-diagram2.png)

Składnia:

YearName(date[, period\_no[, first\_month\_of\_year]] )

Typ zwracanych danych: wartość podwójna

| Argument | Opis |
| --- | --- |
| date | Data lub znacznik czasu do oszacowania. |
| period\_no | period\_no jest liczbą całkowitą, gdzie 0 oznacza rok, który zawiera datę date. Wartości ujemne parametru period\_no oznaczają lata poprzednie, a wartości dodatnie — lata następne. |
| first\_month\_of\_year | Jeśli użytkownik zamierza korzystać z lat (obrotowych), które nie zaczynają się w styczniu, powinien wskazać wartość od 2 do 12 jako parametr first\_month\_of\_year. Wartość wyświetlana będzie ciągiem znaków przedstawiającym dwa lata. |

Aby ustawić pierwszy miesiąc roku w argumencie `first_month_of_year`, możesz użyć następujących wartości:

first\_month\_of\_year values

| Month | Wartość |
| --- | --- |
| Luty | 2 |
| Marzec | 3 |
| Kwiecień | 4 |
| Maj | 5 |
| Czerwiec | 6 |
| Lipiec | 7 |
| Sierpień | 8 |
| Wrzesień | 9 |
| Październik | 10 |
| Listopad | 11 |
| Grudzień | 12 |

Kiedy używać yearname

Funkcja `yearname()` przydaje się do porównywania agregacji według roku. Na przykład, jeśli chcesz zobaczyć całkowitą sprzedaż produktów według roku.

Te wymiary można utworzyć w skrypcie ładowania za pomocą funkcji tworzenia pola w tabeli kalendarza głównego. Można je również tworzyć na wykresie jako wymiary obliczone

## 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łady funkcji

| Przykład | Wynik |
| --- | --- |
| `yearname('10/19/2001')` | Zwraca „2001”. |
| `yearname('10/19/2001',-1)` | Zwraca „2000”. |
| `yearname('10/19/2001',0,4)` | Zwraca „2001-2002”. |

Tematy pokrewne

| Temat | Opis |
| --- | --- |
| [year funkcja skryptu i funkcja wykresu](https://help.qlik.com/pl-PL/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/year.htm) | Ta funkcja zwraca liczbę całkowitą reprezentującą rok, gdy wyrażenie jest interpretowane jako data zgodnie ze standardową interpretacją liczb. |

## Przykład 1 — bez dodatkowych argumentów

[](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/yearname.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 zestaw transakcji za lata 2020–2022 jest ładowany do tabeli o nazwie „`Transactions`”.

* Zmienna systemowa `DateFormat`, która jest ustawiona na „`MM/DD/YYYY`”.

* Ładowanie poprzedzające używające funkcji `yearname()`, która jest ustawiona jako pole `year_name`.

Skrypt ładowania

```
SET DateFormat='MM/DD/YYYY'; 
						
Transactions: 
    Load 
      *, 
      yearname(date) as year_name 
      ; 
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 
]; 
```

Wyniki

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

* `date`
* `year_name`

Tabela wynikowa

| date | year\_name |
| --- | --- |
| 01/13/2020 | 2020 |
| 02/26/2020 | 2020 |
| 03/27/2020 | 2020 |
| 04/16/2020 | 2020 |
| 05/21/2020 | 2020 |
| 08/14/2020 | 2020 |
| 10/07/2020 | 2020 |
| 12/05/2020 | 2020 |
| 01/22/2021 | 2021 |
| 02/03/2021 | 2021 |
| 03/17/2021 | 2021 |
| 04/23/2021 | 2021 |
| 05/04/2021 | 2021 |
| 06/30/2021 | 2021 |
| 07/26/2021 | 2021 |
| 12/27/2021 | 2021 |
| 06/06/2022 | 2022 |
| 07/18/2022 | 2022 |
| 11/14/2022 | 2022 |
| 12/12/2022 | 2022 |

Pole „`year_name`” jest tworzone w instrukcji ładowania poprzedzającego przez użycie funkcji `yearname()` i przekazanie pola daty jako jej argumentu.

Funkcja `yearname()` identyfikuje rok, w którym przypada wartość daty, i zwraca go jako czterocyfrową wartość roku.

Schemat funkcji `yearname()`, która pokazuje 2021 jako wartość roku.

Schemat funkcji `yearname()`, która pokazuje 2021 jako wartość roku.

Schemat funkcji `yearname()`yearname(), która pokazuje 2021 jako wartość roku. ![Diagram przedstawiający funkcję yearname() zwracającą 2021 dla daty 17 marca 2021.](https://help.qlik.com/pl-PL/cloud-services/Subsystems/Hub/Content/Resources/Images/scripting-functions-yearname-example1-diagram.png)

## Przykład 2 – period\_no

[](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/yearname.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 zestaw transakcji za lata 2020–2022 jest ładowany do tabeli o nazwie „Transactions”.

* Zmienna systemowa DateFormat, która jest ustawiona na „`MM/DD/YYYY`”.

* Ładowanie poprzedzające używające funkcji `yearname()`, która jest ustawiona jako pole `year_name`.

Skrypt ładowania

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

Transactions: 
    Load 
      *, 
      yearname(date,-1) as prior_year_name 
      ; 
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 
];  
```

Wyniki

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

* `date`
* `prior_year_name`

Tabela wynikowa

| date | prior\_year\_name |
| --- | --- |
| 01/13/2020 | 2019 |
| 02/26/2020 | 2019 |
| 03/27/2020 | 2019 |
| 04/16/2020 | 2019 |
| 05/21/2020 | 2019 |
| 08/14/2020 | 2019 |
| 10/07/2020 | 2019 |
| 12/05/2020 | 2019 |
| 01/22/2021 | 2020 |
| 02/03/2021 | 2020 |
| 03/17/2021 | 2020 |
| 04/23/2021 | 2020 |
| 05/04/2021 | 2020 |
| 06/30/2021 | 2020 |
| 07/26/2021 | 2020 |
| 12/27/2021 | 2020 |
| 06/06/2022 | 2021 |
| 07/18/2022 | 2021 |
| 11/14/2022 | 2021 |
| 12/12/2022 | 2021 |

Ponieważ `period_no` o wartości `-1` używa się jako argumentu przesunięcia w funkcji `yearname()`, funkcja najpierw identyfikuje rok, w którym odbywają się transakcje. Następnie funkcja dokonuje przesunięcia o rok wcześniej i zwraca wynikowy rok.

Diagram funkcji `yearname()` z `period_no` o wartości `-1`.

Diagram funkcji `yearname()` z `period_no` o wartości `-1`.

Diagram funkcji `yearname()`yearname() z `period_no`period\_no o wartości `-1`-1. ![Diagram pokazujący, jak period_no o wartości ujemnej zmienia zakresy czasu, które identyfikuje funkcja yearname().](https://help.qlik.com/pl-PL/cloud-services/Subsystems/Hub/Content/Resources/Images/scripting-functions-yearname-example2-diagram.png)

## Przykład 3 — first\_month\_of\_year

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

#### Skrypt ładowania i wyniki

Przegląd

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

Skrypt ładowania zawiera:

* Ten sam zbiór danych, co w pierwszym przykładzie.

* Zmienna systemowa `DateFormat`, która jest ustawiona na „`MM/DD/YYYY`”.

* Ładowanie poprzedzające używające funkcji `yearname()`, która jest ustawiona jako pole `year_name`.

Skrypt ładowania

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

Transactions: 
    Load 
      *, 
      yearname(date,0,4) as year_name 
      ; 
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 
];
```

Wyniki

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

* `id`
* `date`
* `year_name`

Tabela wynikowa

| date | year\_name |
| --- | --- |
| 01/13/2020 | 2019-2020 |
| 02/26/2020 | 2019-2020 |
| 03/27/2020 | 2019-2020 |
| 04/16/2020 | 2020-2021 |
| 05/21/2020 | 2020-2021 |
| 08/14/2020 | 2020-2021 |
| 10/07/2020 | 2020-2021 |
| 12/05/2020 | 2020-2021 |
| 01/22/2021 | 2020-2021 |
| 02/03/2021 | 2020-2021 |
| 03/17/2021 | 2020-2021 |
| 04/23/2021 | 2021-2022 |
| 05/04/2021 | 2021-2022 |
| 06/30/2021 | 2021-2022 |
| 07/26/2021 | 2021-2022 |
| 12/27/2021 | 2021-2022 |
| 06/06/2022 | 2022-2023 |
| 07/18/2022 | 2022-2023 |
| 11/14/2022 | 2022-2023 |
| 12/12/2022 | 2022-2023 |

Ponieważ argument [`first_month_of_year` o wartości `4` jest używany w funkcji `yearname()`, początek roku przesuwa się z 1 stycznia na 1 kwietnia. Dlatego każdy okres dwunastu miesięcy przecina dwa lata kalendarzowe, a funkcja `yearname()` zwraca dwa czterocyfrowe lata dla ocenianych dat.

Transakcja 8198 ma miejsce 17 marca 2021 r. Funkcja `yearname()` ustawia początek roku na 1 kwietnia i koniec na 30 marca. W związku z tym transakcja 8198 miała miejsce w okresie od 1 kwietnia 2020 r. do 30 marca 2021 r. W rezultacie funkcja `yearname()` zwraca wartość 2020-2021.

Diagram funkcji `yearname()` z marcem jako pierwszym miesiącem roku.

Diagram funkcji `yearname()` z marcem jako pierwszym miesiącem roku.

Diagram funkcji `yearname()`yearname() z marcem jako pierwszym miesiącem roku. ![Diagram przedstawiający zakres czasu, w którym funkcja yearname() identyfikuje, kiedy pierwszy miesiąc roku jest ustawiony na marzec.](https://help.qlik.com/pl-PL/cloud-services/Subsystems/Hub/Content/Resources/Images/scripting-functions-yearname-example3-diagram.png)

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

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

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

Przegląd

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

Skrypt ładowania zawiera:

* Ten sam zbiór danych, co w pierwszym przykładzie.

* Zmienna systemowa `DateFormat`, która jest ustawiona na „`MM/DD/YYYY`”.

Jednak pole zwracające rok, w którym miała miejsce transakcja, jest tworzone jako miara w obiekcie wykresu.

Skrypt ładowania

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

Wyniki

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

`date`

Aby obliczyć pole `year_name`, należy utworzyć następującą miarę:

`=yearname(date)`

Tabela wynikowa

| date | =yearname(date) |
| --- | --- |
| 01/13/2020 | 2020 |
| 02/26/2020 | 2020 |
| 03/27/2020 | 2020 |
| 04/16/2020 | 2020 |
| 05/21/2020 | 2020 |
| 08/14/2020 | 2020 |
| 10/07/2020 | 2020 |
| 12/05/2020 | 2020 |
| 01/22/2021 | 2021 |
| 02/03/2021 | 2021 |
| 03/17/2021 | 2021 |
| 04/23/2021 | 2021 |
| 05/04/2021 | 2021 |
| 06/30/2021 | 2021 |
| 07/26/2021 | 2021 |
| 12/27/2021 | 2021 |
| 06/06/2022 | 2022 |
| 07/18/2022 | 2022 |
| 11/14/2022 | 2022 |
| 12/12/2022 | 2022 |

Miarę „`year_name`” tworzy się w obiekcie wykresu, używając funkcji `yearname()` i przekazując pole daty jako jej argument.

Funkcja `yearname()` identyfikuje rok, w którym przypada wartość daty, i zwraca go jako czterocyfrową wartość roku.

Diagram funkcji `yearname()`, który pokazuje 2021 jako wartość roku.

Diagram funkcji `yearname()`, który pokazuje 2021 jako wartość roku.

Diagram funkcji `yearname()`yearname(), który pokazuje 2021 jako wartość roku. ![Diagram, który pokazuje, jak funkcja yearname() zwraca 2021 jako wartość roku.](https://help.qlik.com/pl-PL/cloud-services/Subsystems/Hub/Content/Resources/Images/scripting-functions-yearname-example4-diagram.png)

## Przykład 5 — zastosowanie

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

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

Przegląd

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

Skrypt ładowania zawiera:

* Ten sam zbiór danych, co w pierwszym przykładzie.

* Zmienna systemowa DateFormat, która jest ustawiona na „MM/DD/YYYY”.

Użytkownik końcowy chciałby otrzymać wykres przedstawiający łączną sprzedaż w ujęciu kwartalnym dla transakcji. Użyj funkcji yearname() jako wymiaru wyliczanego, aby utworzyć ten wykres, gdy wymiar yearname() nie jest dostępny w modelu danych.

Skrypt ładowania

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

Wyniki

Załaduj dane i otwórz arkusz. Utwórz nową tabelę.

Aby porównać agregacje według roku, utwórz ten wyliczony wymiar:

=yearname(date)

Utwórz tę miarę:

=sum(amount)

Ustaw Formatowanie liczb miary na Waluta.

Tabela wynikowa

| yearname(date) | =sum(amount) |
| --- | --- |
| 2020 | $463.55 |
| 2021 | $457.69 |
| 2022 | $294.35 |