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

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

Синтаксис:

YearEnd( date[, period\_no[, first\_month\_of\_year = 1]])

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

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

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

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

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

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

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

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

Аргументы

| Аргумент | Описание |
| --- | --- |
| 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 будет отображаться на том же языке, что и используемый вами браузер.

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

| Пример | Результат |
| --- | --- |
| ` yearend('10/19/2001')  ` | Возвращает 12/31/2001 23:59:59. |
| ` yearend('10/19/2001', -1)  ` | Возвращает 12/31/2000 23:59:59. |
| ` yearend('10/19/2001', 0, 4)  ` | Возвращает 03/31/2002 23:59:59. |

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

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

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

Обзор

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

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

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

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

* Предшествующий оператор load, который содержит следующее:

  * Функция `yearend()`, заданная как поле `year_end`.

  * Функция `Timestamp()`, заданная как поле `year_end_timestamp`.

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

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

Transactions: 
    Load 
       *, 
       yearend(date) as year_end, 
       timestamp(yearend(date)) as year_end_timestamp 
       ; 
Load 
* 
Inline  
[ 
id,date,amount 
8188,01/13/2020,37.23 
8189,02/26/2020,17.17 
8190,03/27/2020,88.27 
8191,04/16/2020,57.42 
8192,05/21/2020,53.80 
8193,08/14/2020,82.06 
8194,10/07/2020,40.39 
8195,12/05/2020,87.21 
8196,01/22/2021,95.93 
8197,02/03/2021,45.89 
8198,03/17/2021,36.23 
8199,04/23/2021,25.66 
8200,05/04/2021,82.77 
8201,06/30/2021,69.98 
8202,07/26/2021,76.11 
8203,12/27/2021,25.12 
8204,06/06/2022,46.23 
8205,07/18/2022,84.21 
8206,11/14/2022,96.24 
8207,12/12/2022,67.67 
]; 
```

Результаты

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

* `id`
* `date`
* `year_end`
* `year_end_timestamp`

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

| id | date | year\_end | year\_end\_timestamp |
| --- | --- | --- | --- |
| 8188 | 01/13/2020 | 12/31/2020 | 12/31/2020 11:59:59 PM |
| 8189 | 02/26/2020 | 12/31/2020 | 12/31/2020 11:59:59 PM |
| 8190 | 03/27/2020 | 12/31/2020 | 12/31/2020 11:59:59 PM |
| 8191 | 04/16/2020 | 12/31/2020 | 12/31/2020 11:59:59 PM |
| 8192 | 05/21/2020 | 12/31/2020 | 12/31/2020 11:59:59 PM |
| 8193 | 08/14/2020 | 12/31/2020 | 12/31/2020 11:59:59 PM |
| 8194 | 10/07/2020 | 12/31/2020 | 12/31/2020 11:59:59 PM |
| 8195 | 12/05/2020 | 12/31/2020 | 12/31/2020 11:59:59 PM |
| 8196 | 01/22/2021 | 12/31/2021 | 12/31/2021 11:59:59 PM |
| 8197 | 02/03/2021 | 12/31/2021 | 12/31/2021 11:59:59 PM |
| 8198 | 03/17/2021 | 12/31/2021 | 12/31/2021 11:59:59 PM |
| 8199 | 04/23/2021 | 12/31/2021 | 12/31/2021 11:59:59 PM |
| 8200 | 05/04/2021 | 12/31/2021 | 12/31/2021 11:59:59 PM |
| 8201 | 06/30/2021 | 12/31/2021 | 12/31/2021 11:59:59 PM |
| 8202 | 07/26/2021 | 12/31/2021 | 12/31/2021 11:59:59 PM |
| 8203 | 12/27/2021 | 12/31/2021 | 12/31/2021 11:59:59 PM |
| 8204 | 06/06/2022 | 12/31/2022 | 12/31/2022 11:59:59 PM |
| 8205 | 07/18/2022 | 12/31/2022 | 12/31/2022 11:59:59 PM |
| 8206 | 11/14/2022 | 12/31/2022 | 12/31/2022 11:59:59 PM |
| 8207 | 12/12/2022 | 12/31/2022 | 12/31/2022 11:59:59 PM |

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

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

Диаграмма функции `yearend()` с выбранной транзакцией 8199.

Диаграмма функции `yearend()` с выбранной транзакцией 8199.

Диаграмма функции `yearend()`yearend() с выбранной транзакцией 8199. ![Диаграмма, которая показывает, что транзакция 8199 произошла 23 апреля 2021 года и что функция yearend() затем возвращает последнюю миллисекунду этого года.](https://help.qlik.com/ru-RU/sense/May2026/Subsystems/Hub/Content/Resources/Images/scripting-functions-yearend-example1-diagram.png)

Транзакция 8199 совершена 23 апреля 2021 года. Функция `yearend()` возвращает последнюю миллисекунду этого года, то есть 31 декабря в 23:59:59.

## Пример 2. Скрипт period\_no

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

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

Обзор

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

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

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

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

Transactions: 
    Load 
       *, 
       yearend(date,-1) as previous_year_end, 
       timestamp(yearend(date,-1)) as previous_year_end_timestamp 
       ; 
Load 
* 
Inline  
[
id,date,amount 
8188,01/13/2020,37.23 
8189,02/26/2020,17.17 
8190,03/27/2020,88.27 
8191,04/16/2020,57.42 
8192,05/21/2020,53.80 
8193,08/14/2020,82.06 
8194,10/07/2020,40.39 
8195,12/05/2020,87.21 
8196,01/22/2021,95.93 
8197,02/03/2021,45.89 
8198,03/17/2021,36.23 
8199,04/23/2021,25.66 
8200,05/04/2021,82.77 
8201,06/30/2021,69.98 
8202,07/26/2021,76.11 
8203,12/27/2021,25.12 
8204,06/06/2022,46.23 
8205,07/18/2022,84.21 
8206,11/14/2022,96.24 
8207,12/12/2022,67.67 
]; 
```

Результаты

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

* `id`
* `date`
* `previous_year_end`
* `previous_ year_end_timestamp`

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

| id | date | previous\_year\_end | previous\_year\_end\_timestamp |
| --- | --- | --- | --- |
| 8188 | 01/13/2020 | 12/31/2019 | 12/31/2019 11:59:59 PM |
| 8189 | 02/26/2020 | 12/31/2019 | 12/31/2019 11:59:59 PM |
| 8190 | 03/27/2020 | 12/31/2019 | 12/31/2019 11:59:59 PM |
| 8191 | 04/16/2020 | 12/31/2019 | 12/31/2019 11:59:59 PM |
| 8192 | 05/21/2020 | 12/31/2019 | 12/31/2019 11:59:59 PM |
| 8193 | 08/14/2020 | 12/31/2019 | 12/31/2019 11:59:59 PM |
| 8194 | 10/07/2020 | 12/31/2019 | 12/31/2019 11:59:59 PM |
| 8195 | 12/05/2020 | 12/31/2019 | 12/31/2019 11:59:59 PM |
| 8196 | 01/22/2021 | 12/31/2020 | 12/31/2020 11:59:59 PM |
| 8197 | 02/03/2021 | 12/31/2020 | 12/31/2020 11:59:59 PM |
| 8198 | 03/17/2021 | 12/31/2020 | 12/31/2020 11:59:59 PM |
| 8199 | 04/23/2021 | 12/31/2020 | 12/31/2020 11:59:59 PM |
| 8200 | 05/04/2021 | 12/31/2020 | 12/31/2020 11:59:59 PM |
| 8201 | 06/30/2021 | 12/31/2020 | 12/31/2020 11:59:59 PM |
| 8202 | 07/26/2021 | 12/31/2020 | 12/31/2020 11:59:59 PM |
| 8203 | 12/27/2021 | 12/31/2020 | 12/31/2020 11:59:59 PM |
| 8204 | 06/06/2022 | 12/31/2021 | 12/31/2021 11:59:59 PM |
| 8205 | 07/18/2022 | 12/31/2021 | 12/31/2021 11:59:59 PM |
| 8206 | 11/14/2022 | 12/31/2021 | 12/31/2021 11:59:59 PM |
| 8207 | 12/12/2022 | 12/31/2021 | 12/31/2021 11:59:59 PM |

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

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

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

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

Транзакция 8199 совершена 23 апреля 2021 года. Функция `yearend()` возвращает последнюю миллисекунду предыдущего года, то есть 31 декабря 2020 года в 23:59:59, для поля `previous_year_end`.

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

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

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

Обзор

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

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

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

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

Transactions: 
    Load 
       *, 
       yearend(date,0,4) as year_end, 
       timestamp(yearend(date,0,4)) as year_end_timestamp 
       ; 
Load 
* 
Inline  
[ 
id,date,amount 
8188,01/13/2020,37.23 
8189,02/26/2020,17.17 
8190,03/27/2020,88.27 
8191,04/16/2020,57.42 
8192,05/21/2020,53.80 
8193,08/14/2020,82.06 
8194,10/07/2020,40.39 
8195,12/05/2020,87.21
8196,01/22/2021,95.93 
8197,02/03/2021,45.89 
8198,03/17/2021,36.23 
8199,04/23/2021,25.66
8200,05/04/2021,82.77 
8201,06/30/2021,69.98 
8202,07/26/2021,76.11 
8203,12/27/2021,25.12 
8204,06/06/2022,46.23 
8205,07/18/2022,84.21 
8206,11/14/2022,96.24 
8207,12/12/2022,67.67 
];  
```

Результаты

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

* `id`
* `date`
* `year_end`
* `year_end_timestamp`

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

| id | date | year\_end | year\_end\_timestamp |
| --- | --- | --- | --- |
| 8188 | 01/13/2020 | 03/31/2020 | 3/31/2020 11:59:59 PM |
| 8189 | 02/26/2020 | 03/31/2020 | 3/31/2020 11:59:59 PM |
| 8190 | 03/27/2020 | 03/31/2020 | 3/31/2020 11:59:59 PM |
| 8191 | 04/16/2020 | 03/31/2021 | 3/31/2021 11:59:59 PM |
| 8192 | 05/21/2020 | 03/31/2021 | 3/31/2021 11:59:59 PM |
| 8193 | 08/14/2020 | 03/31/2021 | 3/31/2021 11:59:59 PM |
| 8194 | 10/07/2020 | 03/31/2021 | 3/31/2021 11:59:59 PM |
| 8195 | 12/05/2020 | 03/31/2021 | 3/31/2021 11:59:59 PM |
| 8196 | 01/22/2021 | 03/31/2021 | 3/31/2021 11:59:59 PM |
| 8197 | 02/03/2021 | 03/31/2021 | 3/31/2021 11:59:59 PM |
| 8198 | 03/17/2021 | 03/31/2021 | 3/31/2021 11:59:59 PM |
| 8199 | 04/23/2021 | 03/31/2022 | 3/31/2022 11:59:59 PM |
| 8200 | 05/04/2021 | 03/31/2022 | 3/31/2022 11:59:59 PM |
| 8201 | 06/30/2021 | 03/31/2022 | 3/31/2022 11:59:59 PM |
| 8202 | 07/26/2021 | 03/31/2022 | 3/31/2022 11:59:59 PM |
| 8203 | 12/27/2021 | 03/31/2022 | 3/31/2022 11:59:59 PM |
| 8204 | 06/06/2022 | 03/31/2023 | 3/31/2023 11:59:59 PM |
| 8205 | 07/18/2022 | 03/31/2023 | 3/31/2023 11:59:59 PM |
| 8206 | 11/14/2022 | 03/31/2023 | 3/31/2023 11:59:59 PM |
| 8207 | 12/12/2022 | 03/31/2023 | 3/31/2023 11:59:59 PM |

Поскольку аргумент `first_month_of_year` = `4` используется в функции `yearend()`, в качестве первого дня года задается 1 апреля, а в качестве последнего дня года — 31 марта.

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

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

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

Транзакция 8199 совершена 23 апреля 2021 года. Поскольку функция `yearend()` задает в качестве начала года 1 апреля, она возвращает 31 марта 2022 года в качестве значения `year_end` для транзакции.

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

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

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

Обзор

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

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

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

```
Transactions: 
Load 
* 
Inline  
[ 
id,date,amount 
8188,01/13/2020,37.23 
8189,02/26/2020,17.17 
8190,03/27/2020,88.27 
8191,04/16/2020,57.42 
8192,05/21/2020,53.80 
8193,08/14/2020,82.06 
8194,10/07/2020,40.39 
8195,12/05/2020,87.21 
8196,01/22/2021,95.93 
8197,02/03/2021,45.89 
8198,03/17/2021,36.23 
8199,04/23/2021,25.66 
8200,05/04/2021,82.77 
8201,06/30/2021,69.98 
8202,07/26/2021,76.11
8203,12/27/2021,25.12 
8204,06/06/2022,46.23 
8205,07/18/2022,84.21 
8206,11/14/2022,96.24 
8207,12/12/2022,67.67 
]; 
```

Результаты

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

* `id`
* `date`

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

* `=yearend(date)`
* `=timestamp(yearend(date))`

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

| id | date | =yearend(date) | =timestamp(yearend(date)) |
| --- | --- | --- | --- |
| 8188 | 01/13/2020 | 12/31/2020 | 12/31/2020 11:59:59 PM |
| 8189 | 02/26/2020 | 12/31/2020 | 12/31/2020 11:59:59 PM |
| 8190 | 03/27/2020 | 12/31/2020 | 12/31/2020 11:59:59 PM |
| 8191 | 04/16/2020 | 12/31/2020 | 12/31/2020 11:59:59 PM |
| 8192 | 05/21/2020 | 12/31/2020 | 12/31/2020 11:59:59 PM |
| 8193 | 08/14/2020 | 12/31/2020 | 12/31/2020 11:59:59 PM |
| 8194 | 10/07/2020 | 12/31/2020 | 12/31/2020 11:59:59 PM |
| 8195 | 12/05/2020 | 12/31/2020 | 12/31/2020 11:59:59 PM |
| 8196 | 01/22/2021 | 12/31/2021 | 12/31/2021 11:59:59 PM |
| 8197 | 02/03/2021 | 12/31/2021 | 12/31/2021 11:59:59 PM |
| 8198 | 03/17/2021 | 12/31/2021 | 12/31/2021 11:59:59 PM |
| 8199 | 04/23/2021 | 12/31/2021 | 12/31/2021 11:59:59 PM |
| 8200 | 05/04/2021 | 12/31/2021 | 12/31/2021 11:59:59 PM |
| 8201 | 06/30/2021 | 12/31/2021 | 12/31/2021 11:59:59 PM |
| 8202 | 07/26/2021 | 12/31/2021 | 12/31/2021 11:59:59 PM |
| 8203 | 12/27/2021 | 12/31/2021 | 12/31/2021 11:59:59 PM |
| 8204 | 06/06/2022 | 12/31/2022 | 12/31/2022 11:59:59 PM |
| 8205 | 07/18/2022 | 12/31/2022 | 12/31/2022 11:59:59 PM |
| 8206 | 11/14/2022 | 12/31/2022 | 12/31/2022 11:59:59 PM |
| 8207 | 12/12/2022 | 12/31/2022 | 12/31/2022 11:59:59 PM |

Мера `end_of_year` создана в объекте диаграммы с использованием функции `yearend()`, где в качестве аргумента функции передано поле даты.

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

Диаграмма функции `yearend()`, которая показывает, что транзакция 8199 совершена в апреле.

Диаграмма функции `yearend()`, которая показывает, что транзакция 8199 совершена в апреле.

Диаграмма функции `yearend()`yearend(), которая показывает, что транзакция 8199 совершена в апреле. ![Диаграмма, которая показывает диапазон времени, который функция yearend() идентифицирует и возвращает вместе с меткой времени.](https://help.qlik.com/ru-RU/sense/May2026/Subsystems/Hub/Content/Resources/Images/scripting-functions-yearend-example4-diagram.png)

Транзакция 8199 совершена 23 апреля 2021 года. Функция `yearend()` возвращает последнюю миллисекунду этого года, то есть 31 декабря в 23:59:59.

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

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

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

Обзор

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

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

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

  * employee IDs (ИД работника)

  * employee name (имя работника)

  * average daily expense claims of each employee (средние ежедневные заявки на возмещение расходов каждого работника)

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

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

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

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

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

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

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

| employee\_id | employee\_name | =(yearend(today(1))-today(1))\*avg\_daily\_claim |
| --- | --- | --- |
| 182 | Mark | $3240.00 |
| 183 | Deryck | $2700.00 |
| 184 | Dexter | $2700.00 |
| 185 | Sydney | $5832.00 |
| 186 | Agatha | $3888.00 |

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

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