# quartername funkcja skryptu i funkcja wykresu

Ta funkcja zwraca wartość pokazującą miesiące kwartału (sformatowane zgodnie ze stosowaną w skryptach zmienną MonthNames) oraz rok z bazową wartością liczbową odpowiadającą znacznikowi czasu pierwszej milisekundy pierwszego dnia tego kwartału.

Składnia:

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

Typ zwracanych danych: wartość podwójna

Schemat funkcji `quartername()`

Schemat funkcji `quartername()`

Schemat funkcji `quartername()`quartername() ![Przykładowy diagram pokazujący, jak funkcja quartername zamienia datę wejściową na zakres miesięcy objętych przez kwartał, w którym przypada ta data.](https://help.qlik.com/pl-PL/cloud-services/Subsystems/Hub/Content/Resources/Images/scripting-functions-quartername-general.png)

Funkcja `quartername()` określa, w którym kwartale wypada data. Następnie zwraca wartość pokazującą pierwszy i ostatni miesiąc tego kwartału, jak również roku. Wartością, na podstawie której został zwrócony ten wynik, jest pierwsza milisekunda 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. |

## Kiedy używać quartername

Funkcja `quartername()` jest przydatna, gdy chcesz porównać agregacje według kwartału. Na przykład, jeśli chcesz zobaczyć całkowitą sprzedaż produktów według kwartału.

Tej funkcji można użyć w skrypcie ładowania w celu utworzenia pola w tabeli kalendarza głównego. Ewentualnie można jej użyć bezpośrednio na wykresie jako wymiaru wyliczanego.

W tych przykładach używany jest format daty MM/DD/YYYY. Format daty jest określony w instrukcji `SET DateFormat` u góry skryptu ładowania danych. Format zastosowany w przykładach można zmienić, aby dostosować go do konkretnych potrzeb.

Przykłady funkcji

| Przykład | Wynik |
| --- | --- |
| `quartername('10/29/2013')` | Zwraca wartość Oct-Dec 2013. |
| `quartername('10/29/2013', -1)` | Zwraca wartość Jul-Sep 2013. |
| `quartername('10/29/2013', 0, 3)` | Zwraca wartość Sep-Nov 2013. |

## 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 — data bez dodatkowych argumentów

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

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

* Utworzenie pola `transaction_quarter` zwracającego kwartał, w którym miały miejsce transakcje.

Dodaj tutaj swój inny tekst, w razie potrzeby, z listami itp.

Skrypt ładowania

```
SET DateFormat='MM/DD/YYYY';
SET MonthNames='Jan;Feb;Mar;Apr;May;Jun;Jul;Aug;Sep;Oct;Nov;Dec';

Transactions:
    Load
        *,
        quartername(date) as transaction_quarter
        ;
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:

* `date`

* `transaction_quarter`

Tabela wynikowa

| date | transaction\_quarter |
| --- | --- |
| 1/7/2022 | Jan-Mar 2022 |
| 1/19/2022 | Jan-Mar 2022 |
| 2/5/2022 | Jan-Mar 2022 |
| 2/28/2022 | Jan-Mar 2022 |
| 3/16/2022 | Jan-Mar 2022 |
| 4/1/2022 | Apr-Jun 2022 |
| 5/7/2022 | Apr-Jun 2022 |
| 5/16/2022 | Apr-Jun 2022 |
| 6/15/2022 | Apr-Jun 2022 |
| 6/26/2022 | Apr-Jun 2022 |
| 7/9/2022 | Jul-Sep 2022 |
| 7/22/2022 | Jul-Sep 2022 |
| 7/23/2022 | Jul-Sep 2022 |
| 7/27/2022 | Jul-Sep 2022 |
| 8/2/2022 | Jul-Sep 2022 |
| 8/8/2022 | Jul-Sep 2022 |
| 8/19/2022 | Jul-Sep 2022 |
| 9/26/2022 | Jul-Sep 2022 |
| 10/14/2022 | Oct-Dec 2022 |
| 10/29/2022 | Oct-Dec 2022 |

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

Funkcja `quartername()` początkowo identyfikuje kwartał, w którym przypada wartość daty. Następnie zwraca wartość pokazującą pierwszy i ostatni miesiąc tego kwartału, jak również roku.

Diagram funkcji `quartername()`, przykład bez dodatkowych argumentów

Diagram funkcji `quartername()`, przykład bez dodatkowych argumentów

Diagram funkcji `quartername()`quartername(), przykład bez dodatkowych argumentów ![Diagram pokazujący, jak funkcja quartername określa przedział miesięcy kwartału, w którym ma miejsce transakcja.](https://help.qlik.com/pl-PL/cloud-services/Subsystems/Hub/Content/Resources/Images/scripting-functions-quartername-examples-no-add-arg.png)

Transakcja 8203 miała miejsca 8 sierpnia 2022 roku. Funkcja `quartername()` stwierdza, że transakcja miała miejsce w trzecim kwartale, więc zwraca lip-wrz 2022 r. Miesiące są ukazane w takim samym formacie, jak zmienna systemowa `MonthNames`.

## Przykład 2 – data z argumentem period\_no

[](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/quartername.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 `previous_quarter` zwracającego kwartał poprzedzający ten, w którym miały miejsce transakcje.

Skrypt ładowania

```
SET DateFormat='MM/DD/YYYY';
SET MonthNames='Jan;Feb;Mar;Apr;May;Jun;Jul;Aug;Sep;Oct;Nov;Dec';

Transactions:
    Load
        *,
        quartername(date,-1) as previous_quarter
        ;
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:

* `date`

* `previous_quarter`

Tabela wynikowa

| date | previous\_quarter |
| --- | --- |
| 1/7/2022 | Oct-Dec 2021 |
| 1/19/2022 | Oct-Dec 2021 |
| 2/5/2022 | Oct-Dec 2021 |
| 2/28/2022 | Oct-Dec 2021 |
| 3/16/2022 | Oct-Dec 2021 |
| 4/1/2022 | Jan-Mar 2022 |
| 5/7/2022 | Jan-Mar 2022 |
| 5/16/2022 | Jan-Mar 2022 |
| 6/15/2022 | Jan-Mar 2022 |
| 6/26/2022 | Jan-Mar 2022 |
| 7/9/2022 | Apr-Jun 2022 |
| 7/22/2022 | Apr-Jun 2022 |
| 7/23/2022 | Apr-Jun 2022 |
| 7/27/2022 | Apr-Jun 2022 |
| 8/2/2022 | Apr-Jun 2022 |
| 8/8/2022 | Apr-Jun 2022 |
| 8/19/2022 | Apr-Jun 2022 |
| 9/26/2022 | Apr-Jun 2022 |
| 10/14/2022 | Jul-Sep 2022 |
| 10/29/2022 | Jul-Sep 2022 |

W tym przypadku, ponieważ do funkcji `quartername()` jako argument przesunięcia `period_no` przekazano wartość -1, funkcja ta najpierw stwierdza, że transakcje miały miejsce w trzecim kwartale. Następnie dokonuje przesunięcia o jeden kwartał wstecz i zwraca wartość pokazującą pierwszy i ostatni miesiąc tego kwartału, jak również roku.

Diagram funkcji `quartername()`, przykład z argumentem period\_no

Diagram funkcji `quartername()`, przykład z argumentem period\_no

Diagram funkcji `quartername()`quartername(), przykład z argumentem period\_no ![Diagram pokazujący, jak funkcja quartername określa przedział miesięcy kwartału, w którym ma miejsce transakcja.](https://help.qlik.com/pl-PL/cloud-services/Subsystems/Hub/Content/Resources/Images/scripting-functions-quartername-examples-period-no.png)

Transakcja 8203 miała miejsce 8 sierpnia. Funkcja `quartername()` stwierdza, że kwartał przed datą transakcji obejmował okres od 1 kwietnia do 30 czerwca. W związku z tym zwraca kwi-cze 2022 r.

## Example 3 – data z argumentem first\_week\_day

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

#### Skrypt ładowania i wyniki

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 musimy również ustawić 1 marca jako pierwszy miesiąc roku podatkowego.

Skrypt ładowania

```
SET DateFormat='MM/DD/YYYY';
SET MonthNames='Jan;Feb;Mar;Apr;May;Jun;Jul;Aug;Sep;Oct;Nov;Dec';

Transactions:
    Load
        *,
        quartername(date,0,3) as transaction_quarter
        ;
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:

* `date`

* `transaction_quarter`

Tabela wynikowa

| date | transaction\_quarter |
| --- | --- |
| 1/7/2022 | Gru-lut 2021 |
| 1/19/2022 | Gru-lut 2021 |
| 2/5/2022 | Gru-lut 2021 |
| 2/28/2022 | Gru-lut 2021 |
| 3/16/2022 | Mar-maj 2022 |
| 4/1/2022 | Mar-maj 2022 |
| 5/7/2022 | Mar-maj 2022 |
| 5/16/2022 | Mar-maj 2022 |
| 6/15/2022 | Cze-sie 2022 |
| 6/26/2022 | Cze-sie 2022 |
| 7/9/2022 | Cze-sie 2022 |
| 7/22/2022 | Cze-sie 2022 |
| 7/23/2022 | Cze-sie 2022 |
| 7/27/2022 | Cze-sie 2022 |
| 8/2/2022 | Cze-sie 2022 |
| 8/8/2022 | Cze-sie 2022 |
| 8/19/2022 | Cze-sie 2022 |
| 9/26/2022 | Wrz-lis 2022 |
| 10/14/2022 | Wrz-lis 2022 |
| 10/29/2022 | Wrz-lis 2022 |

W tym przypadku do funkcji `quartername()` przekazano wartość 3 jako argument `first_month_of_year`, w efekcie czego początek roku został przesunięty z 1 stycznia na 1 marca. To spowodowało, że kwartały w tym roku zmieniły się na mar-maj, cze-sie, wrz-lis oraz gru-lut.

Diagram funkcji `quartername()`, przykład z argumentem first\_week\_day

Diagram funkcji `quartername()`, przykład z argumentem first\_week\_day

Diagram funkcji `quartername()`quartername(), przykład z argumentem first\_week\_day ![Diagram pokazujący, jak funkcja quartername określa przedział miesięcy kwartału, w którym ma miejsce transakcja.](https://help.qlik.com/pl-PL/cloud-services/Subsystems/Hub/Content/Resources/Images/scripting-functions-quartername-examples-first-week-day.png)

Transakcja 8203 miała miejsce 8 sierpnia. Funkcja `quartername()` stwierdza, że to był drugi kwartał obejmujący dni od początku czerwca do końca sierpnia. W związku z tym zwraca cze-sie 2022 r.

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

[](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/quartername.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 zwracające znacznik czasu końca kwartału, w którym wystąpiły transakcje, są tworzone jako miara w obiekcie wykresu aplikacji.

Skrypt ładowania

```
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/022,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 to pole jako wymiar: date.

Utwórz następującą miarę:

=quartername(date)

Tabela wynikowa

| date | =quartername(date) |
| --- | --- |
| 1/7/2022 | Jan-Mar 2022 |
| 1/19/2022 | Jan-Mar 2022 |
| 2/5/2022 | Jan-Mar 2022 |
| 2/28/2022 | Jan-Mar 2022 |
| 3/16/2022 | Jan-Mar 2022 |
| 4/1/2022 | Apr-Jun 2022 |
| 5/7/2022 | Apr-Jun 2022 |
| 5/16/2022 | Apr-Jun 2022 |
| 6/15/2022 | Apr-Jun 2022 |
| 6/26/2022 | Apr-Jun 2022 |
| 7/9/2022 | Jul-Sep 2022 |
| 7/22/2022 | Jul-Sep 2022 |
| 7/23/2022 | Jul-Sep 2022 |
| 7/27/2022 | Jul-Sep 2022 |
| 8/2/2022 | Jul-Sep 2022 |
| 8/8/2022 | Jul-Sep 2022 |
| 8/19/2022 | Jul-Sep 2022 |
| 9/26/2022 | Jul-Sep 2022 |
| 10/14/2022 | Oct-Dec 2022 |
| 10/29/2022 | Oct-Dec 2022 |

Miarę „transaction\_quarter” tworzy się w obiekcie wykresu, używając funkcji quartername() i przekazując pole daty date jako jej argument.

Funkcja quartername() początkowo identyfikuje kwartał, w którym przypada wartość daty. Następnie zwraca wartość pokazującą pierwszy i ostatni miesiąc tego kwartału, jak również roku.

Diagram funkcji quartername(), przykład obiektu wykresu

Diagram funkcji quartername(), przykład obiektu wykresu

Diagram funkcji quartername()quartername(), przykład obiektu wykresu ![Diagram pokazujący, jak funkcja quartername określa przedział miesięcy kwartału, w którym ma miejsce transakcja.](https://help.qlik.com/pl-PL/cloud-services/Subsystems/Hub/Content/Resources/Images/scripting-functions-quartername-examples-chart-object.png)

Transakcja 8203 miała miejsca 8 sierpnia 2022 roku. Funkcja quartername() stwierdza, że transakcja miała miejsce w trzecim kwartale, więc zwraca lip-wrz 2022 r. Miesiące są ukazane w takim samym formacie, jak zmienna systemowa MonthNames.

## Przykład 5 — zastosowanie

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

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

Użytkownik końcowy chciałby otrzymać obiekt wykresu przedstawiający łączną sprzedaż w ujęciu kwartalnym dla transakcji. Można to osiągnąć nawet wtedy, gdy ten wymiar nie jest dostępny w modelu danych, używając funkcji quartername() jako wymiaru obliczanego na wykresie.

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

Wykonaj następujące czynności:

1. Załaduj dane i otwórz arkusz. Utwórz nową tabelę.

2. Utwórz wymiar wyliczany, używając następującego wyrażenia:

   =quartername(date)

3. Następnie oblicz łączną sprzedaż przy użyciu następującej miary agregacji:

   =sum(amount)

4. Ustaw Formatowanie liczb miary na Waluta.

Tabela wynikowa

| =quartername(date) | =sum(amount) |
| --- | --- |
| Jul-Sep 2022 | $446.31 |
| Apr-Jun 2022 | $351.48 |
| Jan-Mar 2022 | $253.89 |
| Oct-Dec 2022 | $163.91 |