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

Эта функция возвращает значение, соответствующее метке времени, включающей последнюю миллисекунду квартала, содержащего значение, указанное в поле date. По умолчанию для вывода используется формат DateFormat, установленный в скрипте.

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

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

Диаграмма функции `quarterend()`

Диаграмма функции `quarterend()`

Диаграмма функции `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/ru-RU/sense/May2026/Subsystems/Hub/Content/Resources/Images/scripting-functions-quarterend-diagram1.png)

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

Примечание к информацииФункция `quarterend()` не учитывает системную переменную `FirstMonthOfYear`. Год начинается 1 января, если для его изменения не используется аргумент `first_month_of_year`.

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

Функция `quarterend()` широко используется в составе выражения, когда в расчетах требуется учитывать часть квартала, которая еще не прошла, например, если требуется рассчитать общую сумму процентов, еще не начисленных в течение квартала.

Аргументы

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

Можно использовать следующие значения, чтобы задать первый месяц года в аргументе `first_month_of_year`:

значения first\_month\_of\_year

| Месяц | значение |
| --- | --- |
| Февраль | 2 |
| Март | 3 |
| Апрель | 4 |
| May | 5 |
| Июнь | 6 |
| Июль | 7 |
| Август | 8 |
| Сентябрь | 9 |
| Октябрь | 10 |
| Ноябрь | 11 |
| Декабрь | 12 |

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

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

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

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

| Пример | Результат |
| --- | --- |
| `quarterend('10/29/2005')` | Возвращает 12/31/2005 23:59:59. |
| `quarterend('10/29/2005', -1)` | Возвращает 09/30/2005 23:59:59. |
| `quarterend('10/29/2005', 0, 3)` | Возвращает 11/30/2005 23:59:59. |

## Пример 1. Базовый пример

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

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

Обзор

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

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

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

* Предыдущая загрузка, которая содержит следующее:

  * Функция `quarterend()`, заданная как поле ‘`end_of_quarter`’, которая возвращает метку времени конца квартала, в течение которого совершены транзакции.

  * Функция `timestamp()`, заданная как поле `end_of_quarter_timestamp`, которая возвращает точную метку времени конца выбранного квартала.

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

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

Результаты

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

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

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

| Идентификатор | Дата | 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 | 09/30/2022 | 9/30/2022 11:59:59 PM |
| 8199 | 7/22/2022 | 09/30/2022 | 9/30/2022 11:59:59 PM |
| 8200 | 7/23/2022 | 09/30/2022 | 9/30/2022 11:59:59 PM |
| 8201 | 7/27/2022 | 09/30/2022 | 9/30/2022 11:59:59 PM |
| 8202 | 8/2/2022 | 09/30/2022 | 9/30/2022 11:59:59 PM |
| 8203 | 8/8/2022 | 09/30/2022 | 9/30/2022 11:59:59 PM |
| 8204 | 8/19/2022 | 09/30/2022 | 9/30/2022 11:59:59 PM |
| 8205 | 9/26/2022 | 09/30/2022 | 9/30/2022 11:59:59 PM |
| 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 |

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

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

Диаграмма функции `quarterend()`, определяющей конец квартала для транзакции 8203

Диаграмма функции `quarterend()`, определяющей конец квартала для транзакции 8203

Диаграмма функции `quarterend()`quarterend(), определяющей конец квартала для транзакции 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/ru-RU/sense/May2026/Subsystems/Hub/Content/Resources/Images/scripting-functions-quarterend-examples1_and3-diagram.png)

Транзакция 8203 совершена 8 августа. Функция `quarterend()` определяет, что транзакция произошла в третьем квартале, и возвращает последнюю миллисекунду этого квартала, то есть 23:59:59 (11:59:59 PM) 30 сентября.

## Пример 2. Аргумент period\_no

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

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

Обзор

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

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

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

* Предшествующая загрузка, которая содержит следующее:

  * Функция `quarterend()`, заданная как поле `previous_quarter_end`, которая возвращает метку времени конца квартала, предшествующего совершению транзакции.

  * Функция `timestamp()`, заданная как поле `previous_end_of_quarter_timestamp`, которая возвращает точную метку времени конца квартала, предшествующего совершению транзакции.

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

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

Результаты

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

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

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

| Идентификатор | Дата | previous\_quarter\_end | previous\_quarter\_end\_timestamp |
| --- | --- | --- | --- |
| 8188 | 1/7/2022 | 12/31/2021 | 12/31/2021 11:59:59 PM |
| 8189 | 1/19/2022 | 12/31/2021 | 12/31/2021 11:59:59 PM |
| 8190 | 2/5/2022 | 12/31/2021 | 12/31/2021 11:59:59 PM |
| 8191 | 2/28/2022 | 12/31/2021 | 12/31/2021 11:59:59 PM |
| 8192 | 3/16/2022 | 12/31/2021 | 12/31/2021 11:59:59 PM |
| 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 | 09/30/2022 | 9/30/2022 11:59:59 PM |
| 8207 | 10/29/2022 | 09/30/2022 | 9/30/2022 11:59:59 PM |

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

Диаграмма функции `quarterend()` с period\_no = -1.

Диаграмма функции `quarterend()` с period\_no = -1.

Диаграмма функции `quarterend()`quarterend() с period\_no = -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/ru-RU/sense/May2026/Subsystems/Hub/Content/Resources/Images/scripting-functions-quarterend-example2-diagram.png)

Транзакция 8203 совершена 8 августа. Функция `quarterend()` определяет, что квартал, предшествующий совершению транзакции, начинается 1 апреля и заканчивается 30 июня. Затем функция возвращает последнюю миллисекунду этого квартала, 23:59:59 (11:59:59 PM) 30 июля.

## Пример 3. Аргумент first\_month\_of\_year

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

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

Обзор

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

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

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

* Предшествующая загрузка, которая содержит следующее:

  * Функция `quarterend()`, заданная как поле ‘`end_of_quarter`’, которая возвращает метку времени конца квартала, в течение которого совершены транзакции.

  * Функция `timestamp()`, заданная как поле `end_of_quarter_timestamp`, которая возвращает точную метку времени конца выбранного квартала.

Однако в этом примере согласно политике компании финансовый год начинается 1 марта.

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

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

Результаты

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

| Идентификатор | Дата | end\_of\_quarter | end\_of\_quarter\_timestamp |
| --- | --- | --- | --- |
| 8188 | 1/7/2022 | 02/28/2022 | 2/28/2022 11:59:59 PM |
| 8189 | 1/19/2022 | 02/28/2022 | 2/28/2022 11:59:59 PM |
| 8190 | 2/5/2022 | 02/28/2022 | 2/28/2022 11:59:59 PM |
| 8191 | 2/28/2022 | 02/28/2022 | 2/28/2022 11:59:59 PM |
| 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 |

Так как используется аргумент `first_month_of_year` = `3` в функции `quarterend()`, начало года переносится с 1 января на 1 марта.

Диаграмма функции `quarterend()`, где в качестве первого месяца года задан март.

Диаграмма функции `quarterend()`, где в качестве первого месяца года задан март.

Диаграмма функции `quarterend()`quarterend(), где в качестве первого месяца года задан март. ![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/ru-RU/sense/May2026/Subsystems/Hub/Content/Resources/Images/scripting-functions-quarterend-example3-diagram.png)

Транзакция 8203 совершена 8 августа. Поскольку начало года — 1 марта, кварталы в году приходятся на период между Mar-May (март-май), Jun-Aug (июнь-август), Sep-Nov (сентябрь-ноябрь) и Dec-Feb (декабрь-февраль).

Транзакция 8203 совершена 8 августа. Функция `quarterend()` определяет, что транзакция совершена в квартале с июня по август и возвращает последнюю миллисекунду этого квартала, то есть 23:59:59 (11:59:59 PM) 31 августа.

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

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

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

Обзор

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

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

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

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

Результаты

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

* `id`
* `date`

Чтобы рассчитать дату окончания квартала, в течение которого совершена транзакция, создайте следующие меры:

* `=quarterend(date)`
* `=timestamp(quarterend(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 | 09/30/2022 | 9/30/2022 11:59:59 PM |
| 8199 | 7/22/2022 | 09/30/2022 | 9/30/2022 11:59:59 PM |
| 8200 | 7/23/2022 | 09/30/2022 | 9/30/2022 11:59:59 PM |
| 8201 | 7/27/2022 | 09/30/2022 | 9/30/2022 11:59:59 PM |
| 8202 | 8/2/2022 | 09/30/2022 | 9/30/2022 11:59:59 PM |
| 8203 | 8/8/2022 | 09/30/2022 | 9/30/2022 11:59:59 PM |
| 8204 | 8/19/2022 | 09/30/2022 | 9/30/2022 11:59:59 PM |
| 8205 | 9/26/2022 | 09/30/2022 | 9/30/2022 11:59:59 PM |
| 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 |

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

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

Диаграмма функции `quarterend()`, определяющей конец квартала для транзакции 8203

Диаграмма функции `quarterend()`, определяющей конец квартала для транзакции 8203

Диаграмма функции `quarterend()`quarterend(), определяющей конец квартала для транзакции 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/ru-RU/sense/May2026/Subsystems/Hub/Content/Resources/Images/scripting-functions-quarterend-examples1_and3-diagram.png)

Транзакция 8203 совершена 8 августа. Функция `quarterend()` определяет, что транзакция произошла в третьем квартале, и возвращает последнюю миллисекунду этого квартала, то есть 23:59:59 (11:59:59 PM) 30 сентября.

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

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

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

Обзор

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

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

* Набор данных загружается в таблицу под именем Employee\_Expenses. Данная таблица содержит следующие поля:

  * Employee IDs (Идентификаторы сотрудников)

  * Employee names (Имена сотрудников)

  * Средние ежедневные заявки на возмещение расходов каждого сотрудника.

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

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

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

Результаты

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

* employee\_id

* employee\_name

Чтобы рассчитать накопленный процент, создайте следующую меру:

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

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

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

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

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

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