# addyears — funkcja skryptu i funkcja wykresu

Ta funkcja zwraca datę występującą n lat po dacie startdate lub, jeśli n jest wartością ujemną, n lat przed datą startdate.

Składnia:

AddYears(startdate, n)

Typ zwracanych danych: wartość podwójna

Przykładowy schemat przedstawiający działanie funkcji `addyears()`

Przykładowy schemat przedstawiający działanie funkcji `addyears()`

Przykładowy schemat przedstawiający działanie funkcji `addyears()`addyears() ![Przykładowych schemat obrazujący, jak różne elementy funkcji addyears generują datę wynikową.](https://help.qlik.com/pl-PL/sense/November2025/Subsystems/Hub/Content/Resources/Images/scripting-functions-addyears_overview.png)

Funkcja `addyears()` dodaje lub odejmuje zdefiniowaną liczbę lat, `n`, od `startdate`. Następnie zwraca datę wynikową.

Argumenty

| Argument | Opis |
| --- | --- |
| startdate | Data rozpoczęcia jako znacznik czasu, na przykład „2012-10-12”. |
| n | Liczba lat jako dodatnia lub ujemna liczba całkowita. |

Przykłady funkcji

| Przykład | Wynik |
| --- | --- |
| `addyears ('01/29/2010',3)` | Zwraca wartość „01/29/2013”. |
| `addyears ('01/29/2010',-1)` | Zwraca wartość „01/29/2009”. |

## Ustawienia regionalne

Jeżeli nie podano inaczej, w przykładach w tym temacie stosowany jest następujący format daty: MM/DD/RRRR. 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.

Domyślne ustawienia regionalne w aplikacjach są oparte na regionalnych ustawieniach systemu komputera lub serwera, na którym zainstalowano Qlik Sense. Jeśli serwer Qlik Sense, do którego uzyskujesz dostęp, jest ustawiony na Szwecję, Edytor ładowania danych użyje szwedzkich ustawień regionalnych dla dat, godziny i waluty. Te ustawienia regionalne nie są związane z językiem wyświetlanym w interfejsie użytkownika Qlik Sense. Interfejs Qlik Sense będzie wyświetlany w tym samym języku co używana przeglądarka.

## Przykład 1 – prosty przykład

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/addyears.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, który jest ładowany do tabeli o nazwie `Transactions`.

* Pole danych w formacie `DateFormat` zmiennej systemowej (MM/DD/RRRR).

* Tworzenie pola, `two_years_later`, które zwraca datę o dwa lata późniejszą od daty zawarcia transakcji.

Skrypt ładowania

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

Transactions:
    Load
        *,
        addyears(date,2) as two_years_later
        ;
Load
*
Inline 
[
id,date,amount
8188,'01/10/2020',37.23
8189,'02/28/2020',17.17
8190,'04/09/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,'02/02/2022',46.23
8205,'02/26/2022',84.21
8206,'03/07/2022',96.24
8207,'03/11/2022',67.67
];
```

Wyniki

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

* `date`

* `two_years_later`

Tabela wynikowa

| date | two\_years\_later |
| --- | --- |
| 01/10/2020 | 01/10/2022 |
| 02/28/2020 | 02/28/2022 |
| 04/09/2020 | 04/09/2022 |
| 04/16/2020 | 04/16/2022 |
| 05/21/2020 | 05/21/2022 |
| 08/14/2020 | 08/14/2022 |
| 10/07/2020 | 10/07/2022 |
| 12/05/2020 | 12/05/2022 |
| 01/22/2021 | 01/22/2023 |
| 02/03/2021 | 02/03/2023 |
| 03/17/2021 | 03/17/2023 |
| 04/23/2021 | 04/23/2023 |
| 05/04/2021 | 05/04/2023 |
| 06/30/2021 | 06/30/2023 |
| 07/26/2021 | 07/26/2023 |
| 12/27/2021 | 12/27/2023 |
| 02/02/2022 | 02/02/2024 |
| 02/26/2022 | 02/26/2024 |
| 03/07/2022 | 03/07/2024 |
| 03/11/2022 | 03/11/2024 |

Pole `two_years_later` jest tworzone w instrukcji ładowania poprzedzającego przy użyciu funkcji `addyears()`. Pierwszy podany argument określa datę wyjściową. Drugi reprezentuje liczbę lat, jaka ma zostać dodana do daty początkowej lub od niej odjęta. W tym przypadku przekazano wartość 2.

Diagram funkcji `addyears()`, przykład podstawowy

Diagram funkcji `addyears()`, przykład podstawowy

Diagram funkcji `addyears()`addyears(), przykład podstawowy![Diagram funkcji addyears pokazujący zamianę daty wejściowej transakcji 8193 ze skryptu ładowania na datę wynikową.](https://help.qlik.com/pl-PL/sense/November2025/Subsystems/Hub/Content/Resources/Images/scripting-functions-addyears-examples-basic.png)

Transakcja 8193 miała miejsca 14 sierpnia 2020 roku. W związku z tym funkcja `addyears()` zwraca datę 14 października 2022 r. dla pola `two_years_later`.

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

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/addyears.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:

* Zestaw danych zawierający zestaw transakcji za lata 2020–2022, który jest ładowany do tabeli o nazwie `Transactions`.

* Pole danych w formacie zmiennej systemowej `DateFormat` (MM/DD/YYYY).

W obiekcie wykresu utwórz miarę, `prior_year_date`, która zwraca datę o jeden rok wcześniejszą od daty zawarcia transakcji.

Skrypt ładowania

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

Transactions:
Load
*
Inline 
[
id,date,amount
8188,'01/10/2020',37.23
8189,'02/28/2020',17.17
8190,'04/09/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,'02/02/2022',46.23
8205,'02/26/2022',84.21
8206,'03/07/2022',96.24
8207,'03/11/2022',67.67
];
```

Wyniki

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

Utwórz następującą miarę, aby obliczyć datę o rok wcześniejszą od daty zawarcia każdej transakcji:

`=addyears(date,-1)`

Tabela wynikowa

| date | =addyears(date,-1) |
| --- | --- |
| 01/10/2020 | 01/10/2019 |
| 02/28/2020 | 02/28/2019 |
| 04/09/2020 | 04/09/2019 |
| 04/16/2020 | 04/16/2019 |
| 05/21/2020 | 05/21/2019 |
| 08/14/2020 | 08/14/2019 |
| 10/07/2020 | 10/07/2019 |
| 12/05/2020 | 12/05/2019 |
| 01/22/2021 | 01/22/2020 |
| 02/03/2021 | 02/03/2020 |
| 03/17/2021 | 03/17/2020 |
| 04/23/2021 | 04/23/2020 |
| 05/04/2021 | 05/04/2020 |
| 06/30/2021 | 06/30/2020 |
| 07/26/2021 | 07/26/2020 |
| 12/27/2021 | 12/27/2020 |
| 02/02/2022 | 02/02/2021 |
| 02/26/2022 | 02/26/2021 |
| 03/07/2022 | 03/07/2021 |
| 03/11/2022 | 03/11/2021 |

Miara `one_year_prior` jest tworzona w obiekcie wykresu przy użyciu funkcji `addyears()`. Pierwszy podany argument określa datę wyjściową. Drugi reprezentuje liczbę lat, jaka ma zostać dodana do daty `  startdate ` lub od niej odjęta. W tym przypadku przekazano wartość -1.

Diagram funkcji `addyears()`, przykład obiektu wykresu

Diagram funkcji `addyears()`, przykład obiektu wykresu

Diagram funkcji `addyears()`addyears(), przykład obiektu wykresu![Diagram funkcji addyears pokazujący zamianę daty wejściowej transakcji 8193 ze skryptu ładowania na datę wynikową.](https://help.qlik.com/pl-PL/sense/November2025/Subsystems/Hub/Content/Resources/Images/scripting-functions-addyears-examples-chart-object.png)

Transakcja 8193 miała miejsca 14 sierpnia. W związku z tym funkcja `addyears()` zwraca datę 14 sierpnia 2019 r. dla pola `one_year_prior`.

## Przykład 3 — Scenariusz

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/addyears.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:

* Zestaw danych załadowany do tabeli o nazwie `Warranties`.

* Informacje obejmujące identyfikator produktu, datę zakupu, okres gwarancji i cenę zakupu.

Użytkownik potrzebuje obiektu wykresu pokazującego datę wygaśnięcia gwarancji każdego produktu według identyfikatorów produktów.

Skrypt ładowania

```
Warranties:
Load
*
Inline 
[
product_id,purchase_date,warranty_length,purchase_price
8188,'01/13/2020',4,32000
8189,'02/26/2020',2,28000
8190,'03/27/2020',3,41000
8191,'04/16/2020',4,17000
8192,'05/21/2020',2,25000
8193,'08/14/2020',1,59000
8194,'10/07/2020',2,12000
8195,'12/05/2020',3,12000
8196,'01/22/2021',4,24000
8197,'02/03/2021',1,50000
8198,'03/17/2021',2,80000
8199,'04/23/2021',3,10000
8200,'05/04/2021',4,30000
8201,'06/30/2021',3,30000
8202,'07/26/2021',4,20000
8203,'12/27/2021',4,10000
8204,'06/06/2022',2,25000
8205,'07/18/2022',1,32000
8206,'11/14/2022',1,30000
8207,'12/12/2022',4,22000
];
```

Wyniki

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

* `product_id`

* `purchase_date`

* `warranty_length`

Utwórz następującą miarę, aby obliczyć datę zakończenia okresu gwarancji każdego produktu:

`=addyears(purchase_date,warranty_length)`

Tabela wynikowa

| product\_id | purchase\_date | warranty\_length | =addyears(purchase\_date,warranty\_length) |
| --- | --- | --- | --- |
| 8188 | 01/13/2020 | 4 | 01/13/2024 |
| 8189 | 02/26/2020 | 2 | 02/26/2022 |
| 8190 | 03/27/2020 | 3 | 03/27/2023 |
| 8191 | 04/16/2020 | 4 | 04/16/2024 |
| 8192 | 05/21/2020 | 2 | 05/21/2022 |
| 8193 | 08/14/2020 | 1 | 08/14/2021 |
| 8194 | 10/07/2020 | 2 | 10/07/2022 |
| 8195 | 12/05/2020 | 3 | 12/05/2023 |
| 8196 | 01/22/2021 | 4 | 01/22/2025 |
| 8197 | 02/03/2021 | 1 | 02/03/2022 |
| 8198 | 03/17/2021 | 2 | 03/17/2023 |
| 8199 | 04/23/2021 | 3 | 04/23/2024 |
| 8200 | 05/04/2021 | 4 | 05/04/2025 |
| 8201 | 06/30/2021 | 3 | 06/30/2024 |
| 8202 | 07/26/2021 | 4 | 07/26/2025 |
| 8203 | 12/27/2021 | 4 | 12/27/2025 |
| 8204 | 06/06/2022 | 2 | 06/06/2024 |
| 8205 | 07/18/2022 | 1 | 07/18/2023 |
| 8206 | 11/14/2022 | 1 | 11/14/2023 |
| 8207 | 12/12/2022 | 4 | 12/12/2026 |