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

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

Typ zwracanych danych: Dual

Diagram funkcji `quarterend()`

Diagram funkcji `quarterend()`

Diagram funkcji `quarterend()`quarterend() ![Diagram that shows how the quarterend() function identifies the quarter that a date falls into and that it returns the last day of that quarter.](https://help.qlik.com/pl-PL/sense/May2026/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 systemowej zmiennej `FirstMonthOfYear`. Rok rozpoczyna się 1 stycznia, chyba że do jego zmiany użyto argumentu `first_month_of_year`.

Kiedy używać

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

| Miesiąc | 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.

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. Qlik Sense będzie wyświetlane w tym samym języku co używana przez Ciebie przeglądarka.

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/sense/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 z 2022 roku, 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

| Identyfikator | Data | 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 poprzedzającej instrukcji LOAD 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 that shows the end of the quarter that the quarterend() function identifies by the transaction date of transaction 8203. The end of the quarter is returned as September 30.](https://help.qlik.com/pl-PL/sense/May2026/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 i zwraca ostatnią milisekundę tego kwartału, czyli 30 września, godz. 23:59:59.

## Przykład 2 – period\_no

[](https://help.qlik.com/en-US/sense/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 z 2022 roku, 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 `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

| Identyfikator | Data | 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 that shows the end of the quarter that the quarterend() function identifies by the transaction date of transaction 8203. The end of the quarter is returned as June 30 because a period_no of -1 is used.](https://help.qlik.com/pl-PL/sense/May2026/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/sense/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 z 2022 roku, 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.

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

| Identyfikator | Data | 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 `3` przekazano wartość `quarterend()`, 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 that shows the end of the quarter that the quarterend() function identifies by the transaction date of transaction 8203. The end of the quarter is returned as September 30 because of the first month of the year is set to March.](https://help.qlik.com/pl-PL/sense/May2026/Subsystems/Hub/Content/Resources/Images/scripting-functions-quarterend-example3-diagram.png)

Transakcja 8203 miała miejsce 8 sierpnia. Ponieważ początek roku przypada na 1 marca, kwartały w roku obejmują okresy od marca–maja, czerwca–sierpnia, września–listopada i grudnia–lutego.

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/sense/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

| Identyfikator | Data | =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 poprzedzającej instrukcji LOAD 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 that shows the end of the quarter that the quarterend() function identifies by the transaction date of transaction 8203. The end of the quarter is returned as September 30.](https://help.qlik.com/pl-PL/sense/May2026/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 i zwraca ostatnią milisekundę tego kwartału, czyli 30 września, godz. 23:59:59.

## Przykład 5 — zastosowanie

[](https://help.qlik.com/en-US/sense/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.