# quartername Функция скрипта и диаграммы

Эта функция возвращает значение, отображающее месяцы квартала (в формате переменной MonthNames скрипта) и год с базовым числовым значением, соответствующим метке времени, включающей первую миллисекунду первого дня квартала.

Синтаксис:

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

Возвращаемые типы данных: двойное значение

Схема функции `quartername()`

Схема функции `quartername()`

Схема функции `quartername()`quartername() ![Диаграмма с примером того, как функция quartername преобразует введенную дату в диапазон месяцев квартала, к которому относится эта дата.](https://help.qlik.com/ru-RU/sense/May2026/Subsystems/Hub/Content/Resources/Images/scripting-functions-quartername-general.png)

Функция `quartername()` определяет, на какой квартал приходится дата. Затем она возвращает начальный и конечный месяцы этого квартала, а также указывает год. Базовым числовым значением в этом результате является первая миллисекунда квартала.

Аргументы

| Аргумент | Описание |
| --- | --- |
| date | Дата или метка времени для вычисления. |
| period\_no | period\_no — целое число, где 0 обозначает квартал, включающий значение, указанное в поле date. Отрицательные значения, заданные в поле period\_no, означают предшествующие кварталы, положительные — последующие. |
| first\_month\_of\_year | Если необходимо работать с годами (финансовыми), которые начинаются не в январе, задайте значение от 2 до 12 в поле first\_month\_of\_year. |

## Когда это следует использовать

Функция `quartername()` полезна, когда требуется сравнить агрегации по кварталам, например, если требуется увидеть общий объем продаж продуктов по кварталам.

С помощью этой функции в скрипте загрузки можно создать поле в таблице основного календаря. Ее также можно использовать непосредственно в диаграмме в качестве вычисляемого измерения.

В этих примерах используется формат даты MM/DD/YYYY. Формат даты указан в операторе `SET DateFormat` в верхней части скрипта загрузки данных. Измените формат в примерах согласно своим пожеланиям.

Примеры функции

| Пример | Результат |
| --- | --- |
| `quartername('10/29/2013')` | Возвращает Oct-Dec 2013. |
| `quartername('10/29/2013', -1)` | Возвращает Jul-Sep 2013. |
| `quartername('10/29/2013', 0, 3)` | Возвращает Sep-Nov 2013. |

## Региональные настройки

Если не указано иное, в примерах, приведенных в данном разделе, используется следующий формат даты: MM/DD/YYYY. Формат даты указан в операторе `SET DateFormat` скрипта загрузки данных. В вашей системе может быть установлен другой формат даты по умолчанию в зависимости от региональных настроек и других факторов. Можно изменить формат в примерах в соответствии с потребностями. Или можно изменить форматы в скрипте загрузки в соответствии с этими примерами.

Региональные настройки по умолчанию в приложениях основаны на системных региональных настройках компьютера или сервера, где установлено ПО Qlik Sense. Если на сервере Qlik Sense, к которому вы обращаетесь, выбран шведский язык, то редактор загрузки данных будет использовать шведские региональные настройки для даты, времени и валюты. Эти параметры регионального формата не связаны с языком, отображаемым в Qlik Sense интерфейсе пользователя. Qlik Sense будет отображаться на том же языке, что и используемый вами браузер.

## Пример 1. Дата без дополнительных аргументов

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

#### Скрипт загрузки и результаты

Обзор

Откройте редактор загрузки данных и добавьте приведенный ниже скрипт загрузки в новый раздел.

Скрипт загрузки содержит следующее:

* Набор данных, содержащий набор транзакций за 2022 год, который загружается в таблицу под именем `Transactions`.

* Поле даты было предоставлено в формате системной переменной `DateFormat` (MM/DD/YYYY).

* Создание поля `transaction_quarter`, возвращающего квартал, в котором совершены транзакции.

Добавьте сюда другой текст, если необходимо, со списками и т. д.

Скрипт загрузки

```
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
];
```

Результаты

Загрузите данные и откройте лист. Создайте новую таблицу и добавьте эти поля как измерения:

* `date`

* `transaction_quarter`

Результирующая таблица

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

Поле `transaction_quarter` создано предшествующим оператором load с использованием функции `quartername()`, где в качестве аргумента функции передано поле даты.

Функция `quartername()` сначала определяет квартал, к которому относится значение даты. Затем она возвращает начальный и конечный месяцы этого квартала, а также указывает год.

Диаграмма функции `quartername()`, пример без дополнительных аргументов

Диаграмма функции `quartername()`, пример без дополнительных аргументов

Диаграмма функции `quartername()`quartername(), пример без дополнительных аргументов ![Диаграмма, демонстрирующая, как функция quartername определяет диапазон месяцев в квартале, в течение которого совершена транзакция.](https://help.qlik.com/ru-RU/sense/May2026/Subsystems/Hub/Content/Resources/Images/scripting-functions-quartername-examples-no-add-arg.png)

Транзакция 8203 совершена 8 августа 2022 года. Функция `quartername()` определяет, что транзакция совершена в третьем квартале, и поэтому возвращает значение Jul-Sep 2022 (июль-сентябрь 2022 года). Месяцы отображаются в том же формате, который задан для системной переменной `MonthNames`.

## Пример 2. Дата с аргументом period\_no

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

#### Скрипт загрузки и результаты

Обзор

Откройте редактор загрузки данных и добавьте приведенный ниже скрипт загрузки в новый раздел.

Скрипт загрузки содержит следующее:

* Используется тот же набор данных и сценарий, что в первом примере.

* Создание поля `previous_quarter`, возвращающего квартал, который предшествует кварталу, когда совершены транзакции.

Скрипт загрузки

```
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
];
```

Результаты

Загрузите данные и откройте лист. Создайте новую таблицу и добавьте эти поля как измерения:

* `date`

* `previous_quarter`

Результирующая таблица

| date | предыдущий квартал |
| --- | --- |
| 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 |

В этом случае, так как в качестве аргумента смещения использовалось `period_no` = -1, функция `quartername()` сначала определяет, что транзакции совершены в третьем квартале. Затем она переходит к предыдущему кварталу и возвращает значение, отображающее начальный и конечный месяцы этого квартала, а также год.

Диаграмма функции `quartername()`, пример с аргументом period\_no

Диаграмма функции `quartername()`, пример с аргументом period\_no

Диаграмма функции `quartername()`quartername(), пример с аргументом period\_no ![Диаграмма, демонстрирующая, как функция quartername определяет диапазон месяцев в квартале, в течение которого совершена транзакция.](https://help.qlik.com/ru-RU/sense/May2026/Subsystems/Hub/Content/Resources/Images/scripting-functions-quartername-examples-period-no.png)

Транзакция 8203 совершена 8 августа. Функция `quartername()` определяет, что квартал, предшествующий совершению транзакции, начинается 1 апреля и заканчивается 30 июня. Таким образом, функция возвращает значение Apr-Jun 2022 (апрель-июнь 2022).

## Пример 3. Дата с аргументом first\_week\_day

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

#### Скрипт загрузки и результаты

Обзор

Откройте редактор загрузки данных и добавьте приведенный ниже скрипт загрузки на новую вкладку.

Скрипт загрузки содержит тот же набор данных и сценарий, что в первом примере. Однако в этом примере нам также нужно задать 1 марта в качестве начала финансового года.

Скрипт загрузки

```
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
];
```

Результаты

Загрузите данные и откройте лист. Создайте новую таблицу и добавьте эти поля как измерения:

* `date`

* `transaction_quarter`

Результирующая таблица

| date | квартал транзакции |
| --- | --- |
| 1/7/2022 | Дек-Фев 2021 |
| 1/19/2022 | Дек-Фев 2021 |
| 2/5/2022 | Дек-Фев 2021 |
| 2/28/2022 | Дек-Фев 2021 |
| 3/16/2022 | Мар-Май 2022 |
| 4/1/2022 | Мар-Май 2022 |
| 5/7/2022 | Мар-Май 2022 |
| 5/16/2022 | Мар-Май 2022 |
| 6/15/2022 | Июн-Авг 2022 |
| 6/26/2022 | Июнь-Август 2022 |
| 7/9/2022 | Июнь-Август 2022 |
| 7/22/2022 | Июнь-Август 2022 |
| 7/23/2022 | Июнь-Август 2022 |
| 7/27/2022 | Июнь-Август 2022 |
| 8/2/2022 | Июнь-Август 2022 |
| 8/8/2022 | Июнь-Авг 2022 |
| 8/19/2022 | Июнь-Авг 2022 |
| 9/26/2022 | Сен-Ноя 2022 |
| 10/14/2022 | Сен-Ноя 2022 |
| 10/29/2022 | Сен-Ноя 2022 |

В данном случае, так как используется аргумент `first_month_of_year` = 3 в функции `quartername()`, начало года переносится с 1 января на 1 марта. Таким образом, год делится на следующие кварталы: март-май, июнь-август, сентябрь-ноябрь и декабрь-февраль.

Диаграмма функции `quartername()` , пример с аргументом first\_week\_day

Диаграмма функции `quartername()` , пример с аргументом first\_week\_day

Диаграмма функции `quartername()`quartername() , пример с аргументом first\_week\_day ![Диаграмма, демонстрирующая, как функция quartername определяет диапазон месяцев в квартале, в течение которого совершена транзакция.](https://help.qlik.com/ru-RU/sense/May2026/Subsystems/Hub/Content/Resources/Images/scripting-functions-quartername-examples-first-week-day.png)

Транзакция 8203 совершена 8 августа. Функция `quartername()` определяет, что транзакция совершена во втором квартале, который начинается 1 июня и заканчивается 31 августа. Таким образом, функция возвращает значение Jun-Aug 2022 (июнь-август 2022).

## Пример 4. Пример объекта диаграммы

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

#### Скрипт загрузки и выражение диаграммы

Обзор

Откройте редактор загрузки данных и добавьте приведенный ниже скрипт загрузки на новую вкладку.

Скрипт загрузки содержит тот же набор данных и сценарий, что в первом примере.

Однако в этом примере в приложение загружается неизмененный набор данных. Расчет, возвращающий метку времени окончания квартала, в котором совершены транзакции, создается как мера в объекте диаграммы в приложении.

Скрипт загрузки

```
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
];
```

Результаты

Загрузите данные и откройте лист. Создайте новую таблицу и добавьте это поле как измерение: date.

Создайте следующую меру:

=quartername(date)

Результирующая таблица

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

Мера transaction\_quarter создана в объекте диаграммы с использованием функции quartername(), где в качестве аргумента функции передано поле date.

Функция quartername() сначала определяет квартал, к которому относится значение даты. Затем она возвращает начальный и конечный месяцы этого квартала, а также указывает год.

Диаграмма функции quartername(), пример с объектом диаграммы

Диаграмма функции quartername(), пример с объектом диаграммы

Диаграмма функции quartername()quartername(), пример с объектом диаграммы ![Диаграмма, демонстрирующая, как функция quartername определяет диапазон месяцев в квартале, в течение которого совершена транзакция.](https://help.qlik.com/ru-RU/sense/May2026/Subsystems/Hub/Content/Resources/Images/scripting-functions-quartername-examples-chart-object.png)

Транзакция 8203 совершена 8 августа 2022 года. Функция quartername() определяет, что транзакция совершена в третьем квартале, и поэтому возвращает значение Jul-Sep 2022 (июль-сентябрь 2022 года). Месяцы отображаются в том же формате, который задан для системной переменной MonthNames.

## Пример 5. Сценарий

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

#### Скрипт загрузки и выражение диаграммы

Обзор

Откройте редактор загрузки данных и добавьте приведенный ниже скрипт загрузки в новый раздел.

Скрипт загрузки содержит следующее:

* Набор данных, содержащий набор транзакций за 2022 год, загружается в таблицу под именем Transactions.

* Поле даты было предоставлено в формате системной переменной DateFormat (MM/DD/YYYY).

Конечному пользователю нужен объект диаграммы, на котором представлены общие продажи для транзакций по кварталам. Этого можно добиться, даже если это измерение недоступно в модели данных, используя в диаграмме функцию quartername() в качестве вычисляемого измерения.

Скрипт загрузки

```
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
];
```

Результаты

Выполните следующие действия.

1. Загрузите данные и откройте лист. Создайте новую таблицу.

2. Создайте вычисляемое измерение, используя следующее выражение:

   =quartername(date)

3. Затем вычислите общий объем продаж, используя следующую меру агрегирования:

   =sum(amount)

4. Задайте параметру меры Формат чисел значение Денежный.

Результирующая таблица

| =названиеквартала(дата) | sum(amount) |
| --- | --- |
| Jul-Sep 2022 | $446.31 |
| Apr-Jun 2022 | $351.48 |
| Jan-Mar 2022 | $253.89 |
| Oct-Dec 2022 | $163.91 |