# yeartodate funkcja skryptu i funkcja wykresu

Ta funkcja sprawdza, czy wejściowy znacznik czasu przypada w roku daty dnia, w którym skrypt został ostatnio załadowany, i zwraca True, jeśli przypada, a False, jeśli nie przypada. Rok, w którym skrypt był ostatnio ładowany, jest obliczany zgodnie z czasem UTC.

Składnia:

YearToDate(timestamp[ , yearoffset [ , firstmonth [ , todaydate] ] ])

Typ zwracanych danych: Logiczna

Informacja

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

Przykładowy diagram funkcji `yeartodate()`

Przykładowy diagram funkcji `yeartodate()`

Przykładowy diagram funkcji `yeartodate()`yeartodate() ![Diagram przedstawiający wartości dat, dla których funkcja yeartodate zwróci wartość True lub False.](https://help.qlik.com/pl-PL/cloud-services/Subsystems/Hub/Content/Resources/Images/scripting-function-yeartodate-overview.png)

Jeśli żaden z parametrów opcjonalnych nie jest używany, wówczas data od początku roku oznacza dowolną datę w ciągu roku kalendarzowego od 1 stycznia aż do daty ostatniego wykonania skryptu włącznie.

Innymi słowy, funkcja `yeartodate()`, jeśli zostanie wywołana bez żadnych dodatkowych parametrów, pobiera znacznik czasu i zwraca wartość logiczną zależną od tego, czy dana data wypadła w roku kalendarzowym do daty przeładowania włącznie.

Istnieje jednak także możliwość zmiany daty początkowej roku za pomocą argumentu `firstmonth`, jak również dokonywania porównań z poprzednimi lub następnymi latami za pomocą argumentu `yearoffset`.

Ponadto, w przypadku historycznych zestawów danych, funkcja `yeartodate()` udostępnia parametr umożliwiający ustawienie argumentu `todaydate`, co spowoduje porównanie znacznika czasu z rokiem kalendarzowym do daty przekazanej w argumencie `todaydate` włącznie.

Argumenty

| Argument | Opis |
| --- | --- |
| timestamp | Znacznik czasu do porównania, np. '10/12/2012'. |
| yearoffset | Po określeniu wartości yearoffset parametr yeartodate zwraca wartość True dla tego samego okresu w innym roku. Ujemna wartość yearoffset wskazuje poprzedni rok, a dodatnie przesunięcie — przyszły rok. Najnowszą datę od początku roku uzyskuje się przez określenie yearoffset = -1. W przypadku pominięcia przyjmuje się wartość 0. |
| firstmonth | Przez określenie wartości firstmonth z zakresu od 1 do 12 (1 w przypadku pominięcia) można przesunąć początek roku do pierwszego dnia dowolnego miesiąca. Jeżeli na przykład chcesz pracować z rokiem finansowym, który zaczyna się 1 maja, określ firstmonth = 5. Wartość 1 oznaczałaby rok podatkowy zaczynający się 1 stycznia, a wartość 12 – rok podatkowy zaczynający się 1 grudnia. |
| todaydate | Określenie parametru todaydate (w przypadku pominięcia jest to znacznik czasu ostatniego wykonania skryptu) umożliwia przeniesienie dnia używanego jako górna granica okresu. |

## Kiedy używać yeartodate

Funkcja `yeartodate()` zwraca wynik logiczny. Zazwyczaj ten typ funkcji będzie używany jako warunek w wyrażeniu if. Spowoduje to zwrócenie agregacji lub obliczeń w zależności od tego, czy przetwarzana data wypada w roku do daty ostatniego przeładowania aplikacji włącznie.

Na przykład funkcja YearToDate() może zostać użyta do identyfikacji całego sprzętu wyprodukowanego do danego momentu w roku.

W poniższych przykładach przyjmuje się, że ostatnie przeładowanie miało miejsce 18.11.2011 r.

Przykłady funkcji

| Przykład | Wynik |
| --- | --- |
| `yeartodate( '11/18/2010')` | zwraca wartość False |
| `yeartodate( '02/01/2011')` | zwraca wartość True |
| `yeartodate( '11/18/2011')` | zwraca wartość True |
| `yeartodate( '11/19/2011')` | zwraca wartość False |
| `yeartodate( '11/19/2011', 0, 1, '12/31/2011')` | zwraca wartość True |
| `yeartodate( '11/18/2010', -1)` | zwraca wartość True |
| `yeartodate( '11/18/2011', -1)` | zwraca wartość False |
| `yeartodate( '04/30/2011', 0, 5)` | zwraca wartość False |
| `yeartodate( '05/01/2011', 0, 5)` | zwraca wartość True |

## 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 — Przykład podstawowy

[](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/yeartodate.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 zmiennej systemowej `DateFormat` (MM/DD/YYYY).

* Utworzenie pola `year_to_date` określającego, które transakcje miały miejsce w roku kalendarzowym do daty ostatniego przeładowania.

Aktualnie ta data to 26 kwietnia 2022 r.

Skrypt ładowania

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

Transactions:
    Load
        *,
        yeartodate(date) as year_to_date
        ;
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`

* `year_to_date`

Tabela wynikowa

| date | year\_to\_date |
| --- | --- |
| 01/10/2020 | 0 |
| 02/28/2020 | 0 |
| 04/09/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 | 0 |
| 04/23/2021 | 0 |
| 05/04/2021 | 0 |
| 06/30/2021 | 0 |
| 07/26/2021 | 0 |
| 12/27/2021 | 0 |
| 02/02/2022 | -1 |
| 02/26/2022 | -1 |
| 03/07/2022 | -1 |
| 03/11/2022 | -1 |

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

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

Diagram funkcji `yeartodate()`yeartodate(), przykład podstawowy ![Diagram przedstawiający wartości dat, dla których funkcja yeartodate zwróci wartość True lub False.](https://help.qlik.com/pl-PL/cloud-services/Subsystems/Hub/Content/Resources/Images/scripting-function-yeartodate-examples-basic.png)

Pole `year_to_date` jest tworzone w instrukcji ładowania poprzedzającego przez użycie funkcji `yeartodate()` i przekazanie pola `date` jako argumentu funkcji.

Ponieważ do funkcji nie zostały przekazane żadne dalsze parametry, funkcja `yeartodate()` najpierw identyfikuje datę przeładowania, a więc granice bieżącego roku kalendarzowego (zaczynającego się 1 stycznia), które zwrócą logiczną wartość `TRUE`.

W związku z tym każda transakcja, która ma miejsce między 1 stycznia a 26 kwietnia, zwróci wynik logiczny `TRUE`. Każda transakcja mająca miejsce przed początkiem roku 2022 zwróci logiczną wartość `FALSE`.

## Przykład 2 – yearoffset

[](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/yeartodate.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 zestaw danych i zastosowanie co w pierwszym przykładzie.

* Utworzenie pola `two_years_prior` określającego, które transakcje miały miejsce dwa pełne lata przed datą kalendarzową.

Skrypt ładowania

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

Transactions:
    Load
        *,
        yeartodate(date,-2) as two_years_prior
        ;
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_prior`

Tabela wynikowa

| date | two\_years\_prior |
| --- | --- |
| 01/10/2020 | -1 |
| 02/28/2020 | -1 |
| 04/09/2020 | -1 |
| 04/16/2020 | -1 |
| 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 | 0 |
| 04/23/2021 | 0 |
| 05/04/2021 | 0 |
| 06/30/2021 | 0 |
| 07/26/2021 | 0 |
| 12/27/2021 | 0 |
| 02/02/2022 | 0 |
| 02/26/2022 | 0 |
| 03/07/2022 | 0 |
| 03/11/2022 | 0 |

Przekazanie wartości -2 jako argument `yearoffset` funkcji `yeartodate()` powoduje przesunięcie granic porównawczego segmentu roku kalendarzowego o dwa pełne lata. Początkowo segment roku obejmuje dni między 1 stycznia a 26 kwietnia 2022 roku. Argument `yearoffset` przesuwa ten segment o dwa lata wstecz. W efekcie zakres dat zmienia się na przedział od 1 stycznia do 26 kwietnia 2020 roku.

Diagram funkcji `yeartodate()`, przykład z użyciem argumentu yearoffset

Diagram funkcji `yeartodate()`, przykład z użyciem argumentu yearoffset

Diagram funkcji `yeartodate()`yeartodate(), przykład z użyciem argumentu yearoffset ![Diagram przedstawiający wartości dat, dla których funkcja yeartodate zwróci wartość True lub False.](https://help.qlik.com/pl-PL/cloud-services/Subsystems/Hub/Content/Resources/Images/scripting-function-yeartodate-examples-yearoffset.png)

W związku z tym każda transakcja, która ma miejsce między 1 stycznia a 26 kwietnia, zwróci wynik logiczny `TRUE`. Wszystkie transakcje mające miejsce przed tym segmentem lub po nim, spowodują zwrócenie wartości `FALSE`.

## Przykład 3 – firstmonth

[](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/yeartodate.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 zestaw danych i zastosowanie co w pierwszym przykładzie.

* Utworzenie pola, `year_to_date`, określającego, które transakcje miały miejsce w roku kalendarzowym do daty ostatniego przeładowania.

W tym przykładzie ustawiamy początek roku podatkowego na 1 lipca.

Skrypt ładowania

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

Transactions:
    Load
        *,
        yeartodate(date,0,7) as year_to_date
        ;
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`

* `year_to_date`

Tabela wynikowa

| date | year\_to\_date |
| --- | --- |
| 01/10/2020 | 0 |
| 02/28/2020 | 0 |
| 04/09/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 | 0 |
| 04/23/2021 | 0 |
| 05/04/2021 | 0 |
| 06/30/2021 | 0 |
| 07/26/2021 | -1 |
| 12/27/2021 | -1 |
| 02/02/2022 | -1 |
| 02/26/2022 | -1 |
| 03/07/2022 | -1 |
| 03/11/2022 | -1 |

W tym przypadku, ponieważ jako argument `firstmonth` funkcji `yeartodate()` przekazano wartość 7, funkcja ta ustawia pierwszy dzień roku na 1 lipca, a ostatni dzień roku na 30 czerwca.

Diagram funkcji `yeartodate()`, przykład z argumentem firstmonth

Diagram funkcji `yeartodate()`, przykład z argumentem firstmonth

Diagram funkcji `yeartodate()`yeartodate(), przykład z argumentem firstmonth ![Diagram przedstawiający wartości dat, dla których funkcja yeartodate zwróci wartość True lub False.](https://help.qlik.com/pl-PL/cloud-services/Subsystems/Hub/Content/Resources/Images/scripting-function-yeartodate-examples-firstmonth.png)

W związku z tym każda transakcja, która ma miejsce między 1 lipca 2021 roku a 26 kwietnia 2022 roku, spowoduje zwrócenie wartości logicznej `TRUE`. Każda transakcja mająca miejsce przed 1 lipca spowoduje zwrócenie wartości logicznej `FALSE`.

## Przykład 4 – todaydate

[](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/yeartodate.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 zestaw danych i zastosowanie co w pierwszym przykładzie.

* Utworzenie pola, year\_to\_date, określającego, które transakcje miały miejsce w roku kalendarzowym do daty ostatniego przeładowania.

Jednak w tym przykładzie musimy zidentyfikować wszystkie transakcje, które miały miejsce w roku kalendarzowym do 1 marca 2022 r. włącznie.

Skrypt ładowania

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

Transactions:
    Load
        *,
        yeartodate(date, 0, 1, '03/01/2022') as year_to_date
;
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

* year\_to\_date

Tabela wynikowa

| date | year\_to\_date |
| --- | --- |
| 01/10/2020 | 0 |
| 02/28/2020 | 0 |
| 04/09/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 | 0 |
| 04/23/2021 | 0 |
| 05/04/2021 | 0 |
| 06/30/2021 | 0 |
| 07/26/2021 | 0 |
| 12/27/2021 | 0 |
| 02/02/2022 | -1 |
| 02/26/2022 | -1 |
| 03/07/2022 | 0 |
| 03/11/2022 | 0 |

W tym przypadku funkcji yeartodate() przekazano datę 01.03.2022 jako argument todaydate, w związku z czym funkcja ta ustawia granicę końcową porównawczego segmentu roku kalendarzowego na 1 marca 2022 r. Przekazanie parametru firstmonth (o wartości z przedziału od 1 do 12) ma krytyczne znaczenie. Jeśli tego nie zrobimy, funkcja będzie zwracać puste wyniki.

Diagram funkcji yeartodate(), przykład z użyciem argumentu todaydate

Diagram funkcji yeartodate(), przykład z użyciem argumentu todaydate

Diagram funkcji yeartodate()yeartodate(), przykład z użyciem argumentu todaydate ![Diagram przedstawiający wartości dat, dla których funkcja yeartodate zwróci wartość True lub False.](https://help.qlik.com/pl-PL/cloud-services/Subsystems/Hub/Content/Resources/Images/scripting-function-yeartodate-examples-todaydate.png)

W związku z tym każda transakcja zawarta między 1 stycznia a 1 marca 2022 roku, parametr todaydate, spowoduje zwrócenie logicznej wartości TRUE. Każda transakcja mająca miejsce przed 1 stycznia i po 1 marca 2022 roku spowoduje zwrócenie wartości logicznej FALSE.

## Przykład 5 – Przykład z użyciem obiektu wykresu

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

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

Przegląd

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

Skrypt ładowania zawiera ten sam zestaw danych i scenariusz co w pierwszym przykładzie.

Jednak w tym przykładzie do aplikacji został załadowany niezmieniony zbiór danych. Obliczenia określające, które transakcje miały miejsce w roku kalendarzowym do daty ostatniego przeładowania są tworzone jako miara w obiekcie wykresu aplikacji.

Skrypt ładowania

```
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.

Dodaj następującą miarę:

=yeartodate(date)

Tabela wynikowa

| date | =yeartodate(date) |
| --- | --- |
| 01/10/2020 | 0 |
| 02/28/2020 | 0 |
| 04/09/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 | 0 |
| 04/23/2021 | 0 |
| 05/04/2021 | 0 |
| 06/30/2021 | 0 |
| 07/26/2021 | 0 |
| 12/27/2021 | 0 |
| 02/02/2022 | -1 |
| 02/26/2022 | -1 |
| 03/07/2022 | -1 |
| 03/11/2022 | -1 |

Miara year\_to\_date została utworzona w obiekcie wykresu przy użyciu funkcji yeartodate(), której przekazano pole daty date jako argument.

Ponieważ do funkcji nie zostały przekazane żadne dalsze parametry, funkcja yeartodate() najpierw identyfikuje datę przeładowania, a więc granice bieżącego roku kalendarzowego (zaczynającego się 1 stycznia), które zwrócą logiczną wartość TRUE.

Diagram funkcji yeartodate(), przykład z użyciem obiektu wykresu

Diagram funkcji yeartodate(), przykład z użyciem obiektu wykresu

Diagram funkcji yeartodate()yeartodate(), przykład z użyciem obiektu wykresu ![Diagram przedstawiający wartości dat, dla których funkcja yeartodate zwróci wartość True lub False.](https://help.qlik.com/pl-PL/cloud-services/Subsystems/Hub/Content/Resources/Images/scripting-function-yeartodate-examples-chart-object.png)

Każda transakcja, która ma miejsce między 1 stycznia a 26 kwietnia, zwróci wynik logiczny TRUE. Każda transakcja mająca miejsce przed początkiem roku 2022 zwróci logiczną wartość FALSE.

## Przykład 6 — zastosowanie

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

Użytkownik potrzebuje obiektu wskaźnika KPI przedstawiającego łączną sprzedaż za okres 2021 roku analogiczny do okresu od początku bieżącego roku do daty ostatniego przeładowania.

Obecnie ta data to 16 czerwca 2022 r.

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

Wykonaj następujące czynności:

1. Utwórz obiekt wskaźnik KPI.

2. Utwórz następującą miarę agregacji, aby obliczyć łączną sprzedaż

   =sum(if(yeartodate(date,-1),amount,0))

3. Ustaw Formatowanie liczb miary na Waluta.

Wykres KPI funkcji yeartodate() za 2021 rok

Wykres KPI funkcji yeartodate() za 2021 rok

Wykres KPI funkcji yeartodate()yeartodate() za 2021 rok ![Wizualizacja KPI reprezentująca dane sprzedaży za 2021 rok, wygenerowana za pomocą funkcji yeartodate.](https://help.qlik.com/pl-PL/cloud-services/Subsystems/Hub/Content/Resources/Images/scripting-function-yeartodate-scenario-kpi.png)

Funkcja yeartodate() zwraca wartość logiczną na podstawie ocen dat transakcji określonych za pomocą identyfikatorów. Ponieważ przeładowanie miało miejsce 16 czerwca 2022 roku, funkcja yeartodate wydziela segment roku obejmujący okres od 01.01.2022 do 16.06.2022. Ponieważ jednak funkcji przekazano wartość -1 jako argument period\_no, te granice zostały przesunięte do poprzedniego roku. W związku z tym, dla każdej transakcji mającej miejsce między 01.01.2021 a 16.06.2021 funkcja yeartodate() zwraca wartość logiczną TRUE i sumuje kwotę.