# inyear — funkcja skryptu i funkcja wykresu

Ta funkcja zwraca wartość True, jeśli znacznik czasu timestamp należy do roku zawierającego wartość base\_date.

Składnia:

InYear (timestamp, base\_date, period\_no [, first\_month\_of\_year])

Typ zwracanych danych: Logiczna

W Qlik Sense wartość logiczna Prawda jest reprezentowana przez -1, a wartość Fałsz jest reprezentowana przez 0.

Diagram zakresu funkcji `inyear()`

Diagram zakresu funkcji `inyear()`

Diagram zakresu funkcji `inyear()`inyear() ![Diagram pokazujący zakres czasu brany pod uwagę przez funkcję inyear(), która zwraca wartość logiczną na podstawie wartości daty bazowej.](https://help.qlik.com/pl-PL/sense/November2025/Subsystems/Hub/Content/Resources/Images/scripting-functions-inyear-diagram1.png)

Funkcja `inyear()` zwraca wartość logiczną na podstawie porównania wybranych wartości dat z rokiem zdefiniowanym przez `base_date`.

Kiedy używać

Funkcja `inyear()` zwraca wynik logiczny. Zazwyczaj ten typ funkcji będzie używany jako warunek w `if expression`. Wartością zwrotną są obliczenia lub agregacja zależne od tego, czy oceniana data wypada w rozważanym roku. Na przykład, za pomocą funkcji `inyear()` można zidentyfikować całą sprzedaż, jaka miała miejsce w zdefiniowanym roku.

Argumenty

| Argument | Opis |
| --- | --- |
| timestamp | Data, która ma być porównana z wartością base\_date. |
| base\_date | Data używana do oceny roku. |
| period\_no | Rok może zostać przesunięty o wartość period\_no. period\_no jest liczbą całkowitą, gdzie 0 oznacza rok zawierający wartość base\_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. |

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 |

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

| Przykład | Wynik |
| --- | --- |
| `inyear ('01/25/2013', '01/01/2013', 0 )` | Zwraca TRUE |
| `inyear ('01/25/2012', '01/01/2013', 0)` | Zwraca FALSE |
| `inyear ('01/25/2013', '01/01/2013', -1)` | Zwraca FALSE |
| `inyear ('01/25/2012', '01/01/2013', -1 )` | Zwraca TRUE |
| `inyear ('01/25/2013', '01/01/2013', 0, 3)` | Zwraca TRUE<br><br>Wartości argumentów `base_date` i `first_month_of_year` oznaczają, że znacznik czasu musi mieścić się w przedziale od 03.01.2012 r. do 28.02.2013 r. |
| `inyear ('03/25/2013', '07/01/2013', 0, 3 )` | Zwraca TRUE |

## Przykład 1 — podstawowy przykład

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

* Ładowanie poprzedzające zawiera funkcję `inyear()` ustawioną jako pole `in_year` określającą, które transakcje zostały zawarte w tym samym roku, w którym wypada data 26 lipca 2021.

Skrypt ładowania

```
SET DateFormat='MM/DD/YYYY'; 
Transactions: 
    Load 
        *, 
        inyear(date,'07/26/2021', 0) as in_year 
        ; 
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`
* `in_year`

Tabela wynikowa

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

Pole `in_year` jest tworzone w poprzedniej instrukcji ładowania przy użyciu funkcji `inyear()`. Pierwszy argument określa, które pole jest oceniane. Drugi argument to wpisana bezpośrednio w kod data 26 lipca 2021 r. — jest to argument `base_date` określający rok porównawczy. Ostatni jest argument `period_no` o wartości `0`, który oznacza, że funkcja `inyear()` nie porównuje lat poprzednich ani następnych.

Diagram zakresu funkcji `inyear()` z 26 lipca ustawionym jako data bazowa

Diagram zakresu funkcji `inyear()` z 26 lipca ustawionym jako data bazowa

Diagram zakresu funkcji `inyear()`inyear() z 26 lipca ustawionym jako data bazowa ![Diagram funkcji inyear() z 26 lipca ustawionym jako data bazowa i wyróżnionym zakresem od 1 stycznia 2021 r. do 1 stycznia 2022 r.](https://help.qlik.com/pl-PL/sense/November2025/Subsystems/Hub/Content/Resources/Images/scripting-functions-inyear-examples1_and4-diagram.png)

Każda transakcja zawarta w 2021 r. da w wyniku logiczną prawdę.

## Przykład 2 – period\_no

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

* Ładowanie poprzedzające zawiera funkcję `inyear()` ustawioną jako pole `previous_year` określającą, które transakcje zostały zawarte w tym roku poprzedzającym rok obejmujący datę 26 lipca 2021.

Skrypt ładowania

```
SET DateFormat='MM/DD/YYYY'; 
Transactions: 
    Load 
        *, 
        inyear(date,'07/26/2021', -1) as previous_year 
        ; 
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`
* `previous_year`

Tabela wynikowa

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

Przekazanie funkcji `inyear()` argumentu `period_no` o wartości `-1` powoduje przesunięcie granic roku porównawczego o jeden pełny rok. Początkowo rok 2021 jest określony jako porównawczy. `period_no` przesuwa rok porównawczy o jeden, na rok 2020.

Diagram zakresu funkcji `inyear()` z argumentem period\_no ustawionym na `-1`

Diagram zakresu funkcji `inyear()` z argumentem period\_no ustawionym na `-1`

Diagram zakresu funkcji `inyear()`inyear() z argumentem period\_no ustawionym na `-1`-1 ![Diagram funkcji inyear() z 26 lipca ustawionym jako datą bazową i argumentem period_no argument ustawionym na wartość ujemną.](https://help.qlik.com/pl-PL/sense/November2025/Subsystems/Hub/Content/Resources/Images/scripting-functions-inyear-example2-diagram.png)

W efekcie każda transakcja zawarta w 2020 r. daje w wyniku logiczną prawdę.

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

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

* Poprzedzające ładowanie zawiera funkcję `inyear()` ustawioną jako pole `in_year` określającą, które transakcje zostały zawarte w tym samym roku, w którym wypada data 26 lipca 2021.

W tym przykładzie przyjęto jednak, że marzec ma być pierwszym miesiącem roku podatkowego.

Skrypt ładowania

```
SET DateFormat='MM/DD/YYYY'; 
Transactions: 
    Load 
        *, 
        inyear(date,'07/26/2021', 0, 3) as in_year 
        ; 
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`
* `in_year`

Tabela wynikowa

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

Przekazanie funkcji `inyear()` argumentu `first_month_of_year` o wartości `3` ustawia początek roku na 1 marca, a koniec – na ostatni dzień lutego.

Diagram zakresu funkcji `inyear()` z marcem jako pierwszym miesiącem roku

Diagram zakresu funkcji `inyear()` z marcem jako pierwszym miesiącem roku

Diagram zakresu funkcji `inyear()`inyear() z marcem jako pierwszym miesiącem roku ![Diagram funkcji inyear() z 26 lipca jako datą bazową i marcem ustawionym jako pierwszy miesiąc roku.](https://help.qlik.com/pl-PL/sense/November2025/Subsystems/Hub/Content/Resources/Images/scripting-functions-inyear-example3-diagram.png)

W związku z tym każda transakcja zawarta między 1 marca 2021 r. a 1 marca 2022 r. spowoduje zwrócenie w wyniku logicznej prawdy.

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

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

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

Przegląd

Używany jest ten sam zestaw danych i scenariusz co w pierwszym przykładzie.

Jednak w tym przykładzie zbiór danych pozostaje bez zmian i jest ładowany do aplikacji. Obliczenia określające, czy transakcje miały miejsce w tym samym roku, w którym wypada data 26 lipca 2021 r., zostały utworzone jako miara w obiekcie wykresu aplikacji.

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ć, czy transakcje zostały zawarte w tym samym roku, w którym wypada data 26 lipca 2021 r., utwórz następującą miarę:

* `=inyear(date,'07/26/2021', 0)`

Tabela wynikowa

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

Pole `in_year` jest tworzone w wykresie za pomocą funkcji `inyear()`. Pierwszy argument określa, które pole jest oceniane. Drugi argument to wpisana bezpośrednio w kod data 26 lipca 2021 r. — jest to argument `base_date` określający rok porównawczy. Ostatni jest argument `period_no` o wartości `0`, który oznacza, że funkcja `inyear()` nie porównuje lat poprzednich ani następnych.

Diagram zakresu funkcji `inyear()` z 27 lipca ustawionym jako data bazowa

Diagram zakresu funkcji `inyear()` z 27 lipca ustawionym jako data bazowa

Diagram zakresu funkcji `inyear()`inyear() z 27 lipca ustawionym jako data bazowa ![Diagram funkcji inyear() z 27 lipca ustawionym jako data bazowa i wyróżnionym zakresem od 1 stycznia 2021 r. do 1 stycznia 2022 r.](https://help.qlik.com/pl-PL/sense/November2025/Subsystems/Hub/Content/Resources/Images/scripting-functions-inyear-examples1_and4-diagram.png)

Każda transakcja zawarta w 2021 r. da w wyniku logiczną prawdę.

## Przykład 5 — zastosowanie

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/inyear.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 załadowany do tabeli o nazwie Products.

* Tabela zawiera następujące pola:

  * identyfikator produktu,

  * typ produktu,

  * data produkcji,

  * cena.

Użytkownik końcowy chciałby, aby obiekt wykresu wyświetlał według typu produktu koszt produktów wyprodukowanych w 2021 r.

Skrypt ładowania

```
Products: 
Load 
* 
Inline  
[ 
product_id,product_type,manufacture_date,cost_price 
8188,product A,'01/13/2020',37.23 
8189,product B,'02/26/2020',17.17 
8190,product B,'03/27/2020',88.27 
8191,product C,'04/16/2020',57.42 
8192,product D,'05/21/2020',53.80 
8193,product D,'08/14/2020',82.06 
8194,product C,'10/07/2020',40.39 
8195,product B,'12/05/2020',87.21
8196,product A,'01/22/2021',95.93 
8197,product B,'02/03/2021',45.89 
8198,product C,'03/17/2021',36.23 
8199,product C,'04/23/2021',25.66
8200,product B,'05/04/2021',82.77 
8201,product D,'06/30/2021',69.98 
8202,product D,'07/26/2021',76.11 
8203,product D,'12/27/2021',25.12 
8204,product C,'06/06/2022',46.23 
8205,product C,'07/18/2022',84.21 
8206,product A,'11/14/2022',96.24 
8207,product B,'12/12/2022',67.67 
]; 
```

Wyniki

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

* product\_type

Aby obliczyć sumę wszystkich produktów wyprodukowanych w 2021 r., utwórz następującą miarę:

* =sum(if(InYear(manufacture\_date,makedate(2021,01,01),0),cost\_price,0))

Wykonaj następujące czynności:

1. Ustaw Formatowanie liczb miary na Waluta.

2. W sekcji Wygląd wyłącz Sumy.

Tabela wynikowa

| product\_type | =sum(if(InYear(manufacture\_date,makedate(2021,01,01),0),cost\_price,0)) |
| --- | --- |
| product A | $95.93 |
| product B | $128.66 |
| product C | $61.89 |
| product D | $171.21 |

Funkcja inyear() zwraca wartość logiczną podczas oceny dat wytworzenia każdego z produktów. Dla każdego produktu wyprodukowanego w 2021 r. funkcja inyear() zwraca wartość logiczną TRUE i pokazuje sumę wartości cost\_price.