# quarterend funkcja skryptu i funkcja wykresu

Ta funkcja zwraca wartość odpowiadającą znacznikowi czasu ostatniej milisekundy kwartału zawierającego wartość date. Domyślnym formatem wyjściowym będzie format DateFormat skonfigurowany w skrypcie.

Składnia:

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

Typ zwracanych danych: wartość podwójna

Diagram funkcji `quarterend()`

Diagram funkcji `quarterend()`

Diagram funkcji `quarterend()`quarterend() ![Diagram pokazujący, jak funkcja quarterend() identyfikuje kwartał, w którym wypada data, oraz że zwraca ostatni dzień tego kwartału.](https://help.qlik.com/pl-PL/cloud-services/Subsystems/Hub/Content/Resources/Images/scripting-functions-quarterend-diagram1.png)

Funkcja `quarterend()` określa, w którym kwartale wypada data. Następnie zwraca znacznik czasu, w formacie daty, ostatniej milisekundy ostatniego miesiąca tego kwartału\. Pierwszym miesiącem roku jest domyślnie styczeń. Możesz jednak również zmienić pierwszy dzień tygodnia, używając argumentu `first_month_of_year` w funkcji `quarterend()`.

InformacjaFunkcja `quarterend()` nie uwzględnia zmiennej systemowej `FirstMonthOfYear`. Rok rozpoczyna się 1 stycznia, chyba że do jego zmiany użyto argumentu `first_month_of_year`.

Kiedy używać quarterend

Funkcja `quarterend()` jest używana jako część wyrażenia, gdy użytkownik chce, by w obliczeniach użyto ułamka kwartału, który jeszcze nie nastąpił. Na przykład, jeśli chcesz obliczyć łączne odsetki, które nie zostały jeszcze naliczone w ciągu kwartału.

Argumenty

| Argument | Opis |
| --- | --- |
| date | Data lub znacznik czasu do oszacowania. |
| period\_no | period\_no jest liczbą całkowitą, gdzie 0 oznacza kwartał, który zawiera datę date. Wartości ujemne parametru period\_no oznaczają kwartały poprzednie, a wartości dodatnie — kwartały 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/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 |
| --- | --- |
| `quarterend('10/29/2005')` | Zwraca 12/31/2005 23:59:59. |
| `quarterend('10/29/2005', -1)` | Zwraca 09/30/2005 23:59:59. |
| `quarterend('10/29/2005', 0, 3)` | Zwraca 11/30/2005 23:59:59. |

## Przykład 1 — podstawowy przykład

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

* Ładowanie poprzedzające, które zawiera następujące elementy:

  * Funkcja `quarterend()`, która jest ustawiona jako pole `end_of_quarter` i zwraca znacznik czasu końca kwartału, w którym miały miejsce transakcje.

  * Funkcja `timestamp()`, która jest ustawiona jako pole `end_of_quarter_timestamp` i zwraca dokładny znacznik czasu końca wybranego kwartału.

Skrypt ładowania

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

Transactions: 
    Load 
       *, 
       quarterend(date) as end_of_quarter, 
       timestamp(quarterend(date)) as end_of_quarter_timestamp 
       ; 
Load 
* 
Inline  
[ 
id,date,amount 
8188,1/7/2022,17.17 
8189,1/19/2022,37.23 
8190,2/28/2022,88.27 
8191,2/5/2022,57.42 
8192,3/16/2022,53.80 
8193,4/1/2022,82.06 
8194,5/7/2022,40.39 
8195,5/16/2022,87.21 
8196,6/15/2022,95.93 
8197,6/26/2022,45.89 
8198,7/9/2022,36.23 
8199,7/22/2022,25.66 
8200,7/23/2022,82.77 
8201,7/27/2022,69.98 
8202,8/2/2022,76.11 
8203,8/8/2022,25.12 
8204,8/19/2022,46.23 
8205,9/26/2022,84.21 
8206,10/14/2022,96.24 
8207,10/29/2022,67.67 
]; 
```

Wyniki

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

* `id`
* `date`
* `end_of_quarter`
* `end_of_quarter_timestamp`

Tabela wynikowa

| id | date | end\_of\_quarter | end\_of\_quarter\_timestamp |
| --- | --- | --- | --- |
| 8188 | 1/7/2022 | 03/31/2022 | 3/31/2022 11:59:59 PM |
| 8189 | 1/19/2022 | 03/31/2022 | 3/31/2022 11:59:59 PM |
| 8190 | 2/5/2022 | 03/31/2022 | 3/31/2022 11:59:59 PM |
| 8191 | 2/28/2022 | 03/31/2022 | 3/31/2022 11:59:59 PM |
| 8192 | 3/16/2022 | 03/31/2022 | 3/31/2022 11:59:59 PM |
| 8193 | 4/1/2022 | 06/30/2022 | 6/30/2022 11:59:59 PM |
| 8194 | 5/7/2022 | 06/30/2022 | 6/30/2022 11:59:59 PM |
| 8195 | 5/16/2022 | 06/30/2022 | 6/30/2022 11:59:59 PM |
| 8196 | 6/15/2022 | 06/30/2022 | 6/30/2022 11:59:59 PM |
| 8197 | 6/26/2022 | 06/30/2022 | 6/30/2022 11:59:59 PM |
| 8198 | 7/9/2022 | 30.09.2022 | 30.09.2022 23:59:59 |
| 8199 | 7/22/2022 | 30.09.2022 | 30.09.2022 23:59:59 |
| 8200 | 7/23/2022 | 30.09.2022 | 30.09.2022 23:59:59 |
| 8201 | 7/27/2022 | 30.09.2022 | 30.09.2022 23:59:59 |
| 8202 | 8/2/2022 | 30.09.2022 | 30.09.2022 23:59:59 |
| 8203 | 8/8/2022 | 30.09.2022 | 30.09.2022 23:59:59 |
| 8204 | 8/19/2022 | 30.09.2022 | 30.09.2022 23:59:59 |
| 8205 | 9/26/2022 | 30.09.2022 | 30.09.2022 23:59:59 |
| 8206 | 10/14/2022 | 12/31/2022 | 12/31/2022 11:59:59 PM |
| 8207 | 10/29/2022 | 12/31/2022 | 12/31/2022 11:59:59 PM |

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

Funkcja `quarterend()` początkowo identyfikuje, w którym kwartale przypada wartość daty, i zwraca znacznik czasu ostatniej milisekundy danego kwartału.

Diagram funkcji `quarterend()` ze zidentyfikowanym końcem kwartału transakcji 8203

Diagram funkcji `quarterend()` ze zidentyfikowanym końcem kwartału transakcji 8203

Diagram funkcji `quarterend()`quarterend() ze zidentyfikowanym końcem kwartału transakcji 8203 ![Diagram pokazujący koniec kwartału, który funkcja quarterend() identyfikuje po dacie transakcji 8203](https://help.qlik.com/pl-PL/cloud-services/Subsystems/Hub/Content/Resources/Images/scripting-functions-quarterend-examples1_and3-diagram.png)

Transakcja 8203 miała miejsce 8 sierpnia. Funkcja `quarterend()` stwierdza, że transakcja miała miejsce w trzecim kwartale oraz zwraca ostatnią milisekundę tego kwartału – 30 września, godz. 23:59:59.

## Przykład 2 – period\_no

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

* Ładunek poprzedzający, który zawiera następujące elementy:

  * Funkcja `quarterend()`, która jest ustawiona jako pole `previous_quarter_end` i zwraca znacznik czasu końca kwartału przed tym, w którym miała miejsce transakcja.

  * Funkcja `timestamp()`, która jest ustawiona jako pole `previous_end_of_quarter_timestamp` i zwraca dokładny znacznik czasu końca kwartału przed tym, w którym miała miejsce transakcja.

Skrypt ładowania

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

Transactions: 
    Load 
       *, 
       quarterend(date, -1) as previous_quarter_end, 
       timestamp(quarterend(date, -1)) as previous_quarter_end_timestamp 
       ; 
Load 
* 
Inline  
[ 
id,date,amount 
8188,1/7/2022,17.17 
8189,1/19/2022,37.23 
8190,2/28/2022,88.27 
8191,2/5/2022,57.42 
8192,3/16/2022,53.80 
8193,4/1/2022,82.06 
8194,5/7/2022,40.39 
8195,5/16/2022,87.21 
8196,6/15/2022,95.93 
8197,6/26/2022,45.89 
8198,7/9/2022,36.23 
8199,7/22/2022,25.66 
8200,7/23/2022,82.77 
8201,7/27/2022,69.98 
8202,8/2/2022,76.11 
8203,8/8/2022,25.12 
8204,8/19/2022,46.23 
8205,9/26/2022,84.21 
8206,10/14/2022,96.24 
8207,10/29/2022,67.67 
]; 
```

Wyniki

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

* `id`
* `date`
* `previous_quarter_end`
* `previous_quarter_end_timestamp`

Tabela wynikowa

| id | date | previous\_quarter\_end | previous\_quarter\_end\_timestamp |
| --- | --- | --- | --- |
| 8188 | 1/7/2022 | 12/31/2021 | 31.12.2021 23:59:59 |
| 8189 | 1/19/2022 | 12/31/2021 | 31.12.2021 23:59:59 |
| 8190 | 2/5/2022 | 12/31/2021 | 31.12.2021 23:59:59 |
| 8191 | 2/28/2022 | 12/31/2021 | 31.12.2021 23:59:59 |
| 8192 | 3/16/2022 | 12/31/2021 | 31.12.2021 23:59:59 |
| 8193 | 4/1/2022 | 03/31/2022 | 3/31/2022 11:59:59 PM |
| 8194 | 5/7/2022 | 03/31/2022 | 3/31/2022 11:59:59 PM |
| 8195 | 5/16/2022 | 03/31/2022 | 3/31/2022 11:59:59 PM |
| 8196 | 6/15/2022 | 03/31/2022 | 3/31/2022 11:59:59 PM |
| 8197 | 6/26/2022 | 03/31/2022 | 3/31/2022 11:59:59 PM |
| 8198 | 7/9/2022 | 06/30/2022 | 6/30/2022 11:59:59 PM |
| 8199 | 7/22/2022 | 06/30/2022 | 6/30/2022 11:59:59 PM |
| 8200 | 7/23/2022 | 06/30/2022 | 6/30/2022 11:59:59 PM |
| 8201 | 7/27/2022 | 06/30/2022 | 6/30/2022 11:59:59 PM |
| 8202 | 8/2/2022 | 06/30/2022 | 6/30/2022 11:59:59 PM |
| 8203 | 8/8/2022 | 06/30/2022 | 6/30/2022 11:59:59 PM |
| 8204 | 8/19/2022 | 06/30/2022 | 6/30/2022 11:59:59 PM |
| 8205 | 9/26/2022 | 06/30/2022 | 6/30/2022 11:59:59 PM |
| 8206 | 10/14/2022 | 30.09.2022 | 30.09.2022 23:59:59 |
| 8207 | 10/29/2022 | 30.09.2022 | 30.09.2022 23:59:59 |

Ponieważ `period_no` o wartości `-1` używa się jako argumentu przesunięcia w funkcji `quarterend()`, funkcja najpierw identyfikuje kwartał, w którym odbywają się transakcje. Następnie przesuwa zakres o kwartał wstecz i identyfikuje ostatnią milisekundę tego kwartału.

Diagram funkcji `quarterend()` z argumentem period\_no o wartości -1.

Diagram funkcji `quarterend()` z argumentem period\_no o wartości -1.

Diagram funkcji `quarterend()`quarterend() z argumentem period\_no o wartości -1. ![Diagram pokazujący koniec kwartału, który funkcja quarterend() identyfikuje po dacie transakcji 8203](https://help.qlik.com/pl-PL/cloud-services/Subsystems/Hub/Content/Resources/Images/scripting-functions-quarterend-example2-diagram.png)

Transakcja 8203 miała miejsce 8 sierpnia. Funkcja `quarterend()` stwierdza, że kwartał przed datą transakcji obejmował okres od 1 kwietnia do 30 czerwca. Funkcja zwraca ostatnią milisekundę tego kwartału – 30 czerwca, godz. 23:59:59.

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

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

* Ładunek poprzedzający, który zawiera następujące elementy:

  * Funkcja `quarterend()`, która jest ustawiona jako pole `end_of_quarter` i zwraca znacznik czasu końca kwartału, w którym miały miejsce transakcje.

  * Funkcja `timestamp()`, która jest ustawiona jako pole `end_of_quarter_timestamp` i zwraca dokładny znacznik czasu końca wybranego kwartału.

Jednak w tym przykładzie zgodnie z polityką firmy rok podatkowy zaczyna się 1 marca.

Skrypt ładowania

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

Transactions: 
    Load 
       *, 
       quarterend(date, 0, 3) as end_of_quarter, 
       timestamp(quarterend(date, 0, 3)) as end_of_quarter_timestamp 
       ; 
Load 
* 
Inline  
[ 
id,date,amount 
8188,1/7/2022,17.17 
8189,1/19/2022,37.23 
8190,2/28/2022,88.27 
8191,2/5/2022,57.42 
8192,3/16/2022,53.80 
8193,4/1/2022,82.06 
8194,5/7/2022,40.39 
8195,5/16/2022,87.21 
8196,6/15/2022,95.93 
8197,6/26/2022,45.89 
8198,7/9/2022,36.23 
8199,7/22/2022,25.66 
8200,7/23/2022,82.77 
8201,7/27/2022,69.98 
8202,8/2/2022,76.11 
8203,8/8/2022,25.12 
8204,8/19/2022,46.23 
8205,9/26/2022,84.21 
8206,10/14/2022,96.24 
8207,10/29/2022,67.67 
]; 
```

Wyniki

Tabela wynikowa

| id | date | end\_of\_quarter | end\_of\_quarter\_timestamp |
| --- | --- | --- | --- |
| 8188 | 1/7/2022 | 02/28/2022 | 28.02.2022 23:59:59 |
| 8189 | 1/19/2022 | 02/28/2022 | 28.02.2022 23:59:59 |
| 8190 | 2/5/2022 | 02/28/2022 | 28.02.2022 23:59:59 |
| 8191 | 2/28/2022 | 02/28/2022 | 28.02.2022 23:59:59 |
| 8192 | 3/16/2022 | 05/31/2022 | 5/31/2022 11:59:59 PM |
| 8193 | 4/1/2022 | 05/31/2022 | 5/31/2022 11:59:59 PM |
| 8194 | 5/7/2022 | 05/31/2022 | 5/31/2022 11:59:59 PM |
| 8195 | 5/16/2022 | 05/31/2022 | 5/31/2022 11:59:59 PM |
| 8196 | 6/15/2022 | 08/31/2022 | 8/31/2022 11:59:59 PM |
| 8197 | 6/26/2022 | 08/31/2022 | 8/31/2022 11:59:59 PM |
| 8198 | 7/9/2022 | 08/31/2022 | 8/31/2022 11:59:59 PM |
| 8199 | 7/22/2022 | 08/31/2022 | 8/31/2022 11:59:59 PM |
| 8200 | 7/23/2022 | 08/31/2022 | 8/31/2022 11:59:59 PM |
| 8201 | 7/27/2022 | 08/31/2022 | 8/31/2022 11:59:59 PM |
| 8202 | 8/2/2022 | 08/31/2022 | 8/31/2022 11:59:59 PM |
| 8203 | 8/8/2022 | 08/31/2022 | 8/31/2022 11:59:59 PM |
| 8204 | 8/19/2022 | 08/31/2022 | 8/31/2022 11:59:59 PM |
| 8205 | 9/26/2022 | 11/30/2022 | 11/30/2022 11:59:59 PM |
| 8206 | 10/14/2022 | 11/30/2022 | 11/30/2022 11:59:59 PM |
| 8207 | 10/29/2022 | 11/30/2022 | 11/30/2022 11:59:59 PM |

Ponieważ jako argument `first_month_of_year` funkcji `quarterend()` przekazano wartość `3`, początek roku został przesunięty z 1 stycznia na 1 marca.

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

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

Diagram funkcji `quarterend()`quarterend() z marcem jako pierwszym miesiącem roku ![Diagram pokazujący koniec kwartału, który funkcja quarterend() identyfikuje po dacie transakcji 8203](https://help.qlik.com/pl-PL/cloud-services/Subsystems/Hub/Content/Resources/Images/scripting-functions-quarterend-example3-diagram.png)

Transakcja 8203 miała miejsce 8 sierpnia. Ponieważ rok zaczyna się 1 marca, kwartały w nim obejmują miesiące marzec-maj, czerwiec-sierpień, wrzesień-listopad oraz grudzień-luty.

Funkcja `quarterend()` stwierdza, że transakcja miała miejsce w kwartale od czerwca do sierpnia i zwraca ostatnią milisekundę tego kwartału – 31 sierpnia, godz. 23:59:59.

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

[](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/quarterend.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. Obliczenie, które zwraca znacznik czasu końca kwartału, w którym wystąpiły transakcje, jest tworzone jako miara na wykresie w aplikacji.

Skrypt ładowania

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

Transactions: 
Load 
* 
Inline  
[ 
id,date,amount 
8188,1/7/2022,17.17 
8189,1/19/2022,37.23 
8190,2/28/2022,88.27 
8191,2/5/2022,57.42 
8192,3/16/2022,53.80 
8193,4/1/2022,82.06 
8194,5/7/2022,40.39 
8195,5/16/2022,87.21 
8196,6/15/2022,95.93 
8197,6/26/2022,45.89 
8198,7/9/2022,36.23 
8199,7/22/2022,25.66 
8200,7/23/2022,82.77 
8201,7/27/2022,69.98 
8202,8/2/2022,76.11 
8203,8/8/2022,25.12 
8204,8/19/2022,46.23 
8205,9/26/2022,84.21 
8206,10/14/2022,96.24 
8207,10/29/2022,67.67 
]; 
```

Wyniki

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

* `id`
* `date`

Aby obliczyć koniec kwartału, w którym zawarto transakcję, utwórz następujące miary:

* `=quarterend(date)`
* `=timestamp(quarterend(date))`

Tabela wynikowa

| id | date | =quarterend(date) | =timestamp(quarterend(date)) |
| --- | --- | --- | --- |
| 8188 | 1/7/2022 | 03/31/2022 | 3/31/2022 11:59:59 PM |
| 8189 | 1/19/2022 | 03/31/2022 | 3/31/2022 11:59:59 PM |
| 8190 | 2/5/2022 | 03/31/2022 | 3/31/2022 11:59:59 PM |
| 8191 | 2/28/2022 | 03/31/2022 | 3/31/2022 11:59:59 PM |
| 8192 | 3/16/2022 | 03/31/2022 | 3/31/2022 11:59:59 PM |
| 8193 | 4/1/2022 | 06/30/2022 | 6/30/2022 11:59:59 PM |
| 8194 | 5/7/2022 | 06/30/2022 | 6/30/2022 11:59:59 PM |
| 8195 | 5/16/2022 | 06/30/2022 | 6/30/2022 11:59:59 PM |
| 8196 | 6/15/2022 | 06/30/2022 | 6/30/2022 11:59:59 PM |
| 8197 | 6/26/2022 | 06/30/2022 | 6/30/2022 11:59:59 PM |
| 8198 | 7/9/2022 | 30.09.2022 | 30.09.2022 23:59:59 |
| 8199 | 7/22/2022 | 30.09.2022 | 30.09.2022 23:59:59 |
| 8200 | 7/23/2022 | 30.09.2022 | 30.09.2022 23:59:59 |
| 8201 | 7/27/2022 | 30.09.2022 | 30.09.2022 23:59:59 |
| 8202 | 8/2/2022 | 30.09.2022 | 30.09.2022 23:59:59 |
| 8203 | 8/8/2022 | 30.09.2022 | 30.09.2022 23:59:59 |
| 8204 | 8/19/2022 | 30.09.2022 | 30.09.2022 23:59:59 |
| 8205 | 9/26/2022 | 30.09.2022 | 30.09.2022 23:59:59 |
| 8206 | 10/14/2022 | 12/31/2022 | 12/31/2022 11:59:59 PM |
| 8207 | 10/29/2022 | 12/31/2022 | 12/31/2022 11:59:59 PM |

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

Funkcja `quarterend()` początkowo identyfikuje, w którym kwartale przypada wartość daty, i zwraca znacznik czasu ostatniej milisekundy danego kwartału.

Diagram funkcji `quarterend()` ze zidentyfikowanym końcem kwartału transakcji 8203

Diagram funkcji `quarterend()` ze zidentyfikowanym końcem kwartału transakcji 8203

Diagram funkcji `quarterend()`quarterend() ze zidentyfikowanym końcem kwartału transakcji 8203 ![Diagram pokazujący koniec kwartału, który funkcja quarterend() identyfikuje po dacie transakcji 8203](https://help.qlik.com/pl-PL/cloud-services/Subsystems/Hub/Content/Resources/Images/scripting-functions-quarterend-examples1_and3-diagram.png)

Transakcja 8203 miała miejsce 8 sierpnia. Funkcja `quarterend()` stwierdza, że transakcja miała miejsce w trzecim kwartale oraz zwraca ostatnią milisekundę tego kwartału – 30 września, godz. 23:59:59.

## Przykład 5 — zastosowanie

[](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/quarterend.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 jest ładowany do tabeli o nazwie Employee\_Expenses. Tabela zawiera następujące pola:

  * Identyfikatory pracowników

  * Imiona i nazwiska pracownika

  * Średnie dzienne rozliczenia wydatków każdego pracownika.

Użytkownik końcowy chciałby, aby obiekt wykresu wyświetlał, według identyfikatora pracownika oraz imienia i nazwiska pracownika, szacowane roszczenia z tytułu wydatków do poniesienia przez pozostałą część kwartału. Rok obrotowy rozpoczyna się w styczniu.

Skrypt ładowania

```
Employee_Expenses: 
Load 
* 
Inline  
[ 
employee_id,employee_name,avg_daily_claim 
182,Mark, $15 
183,Deryck, $12.5  
184,Dexter, $12.5 
185,Sydney,$27 
186,Agatha,$18 
]; 
```

Wyniki

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

* employee\_id

* employee\_name

Aby obliczyć narosłe odsetki, należy utworzyć następującą miarę:

* =(quarterend(today(1))-today(1))\*avg\_daily\_claim

Ustaw Formatowanie liczb miary na Waluta.

Tabela wynikowa

| employee\_id | employee\_name | =(quarterend(today(1))-today(1))\*avg\_daily\_claim |
| --- | --- | --- |
| 182 | Mark | $480.00 |
| 183 | Deryck | $400.00 |
| 184 | Dexter | $400.00 |
| 185 | Sydney | $864.00 |
| 186 | Agatha | $576.00 |

Funkcja quarterend() używa bieżącej daty jako swojego jedynego argumentu i zwraca datę końcową bieżącego miesiąca. Następnie odejmuje bieżącą datę od daty końca roku i wyrażenie zwraca liczbę dni pozostałych w tym miesiącu.

Wartość ta jest następnie mnożona przez średnie dzienne roszczenie z tytułu wydatków przez każdego pracownika, aby obliczyć szacunkową wartość roszczeń, które każdy pracownik złoży w pozostałej części kwartału.