# firstworkdate — функция скриптa и диаграммы

Функция firstworkdate возвращает самую позднюю дату начала, при которой период, заданный в поле no\_of\_workdays (понедельник-пятница), окончится не позднее даты, заданной в поле end\_date, с учетом возможных выходных. end\_date и holiday должны быть действительными датами или метками времени.

Синтаксис:

firstworkdate(end\_date, no\_of\_workdays {, holiday} )

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

Аргументы:

Аргументы

| Аргумент | Описание |
| --- | --- |
| end\_date | Метка времени даты окончания для оценки. |
| no\_of\_workdays | Количество рабочих дней, которое должно быть получено. |
| holiday | Периоды выходных дней для исключения из рабочих дней. Праздник обозначен как постоянная строка даты. Можно указать несколько дат праздников, разделенных запятыми.<br><br>Пример: `  '12/25/2013', '12/26/2013', '12/31/2013', '01/01/2014' ` |

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

#### Примеры и результаты:

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

Примеры написания скриптов

| Пример | Результат |
| --- | --- |
| `firstworkdate ('29/12/2014', 9)` | Возвращает 17/12/2014. |
| `firstworkdate ('29/12/2014', 9, '25/12/2014', '26/12/2014')` | Возвращает 15/12/2014, поскольку учитывается двухдневный период выходных. |

Пример:

Добавьте образец скрипта в свое приложение и запустите. Чтобы увидеть результаты, добавьте поля, перечисленные в столбце результатов, в лист приложения.

`ProjectTable:` `LOAD *, recno() as InvID, INLINE [` `EndDate` `28/03/2015` `10/12/2015` `5/2/2016` `31/3/2016` `19/5/2016` `15/9/2016` `] ;` `NrDays:` `Load *,` `FirstWorkDate(EndDate,120) As StartDate` `Resident ProjectTable;` `Drop table ProjectTable;`

Результирующая таблица показывает возвращенные значения функции FirstWorkDate для каждой записи в таблице.

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

| InvID | EndDate | StartDate |
| --- | --- | --- |
| 1 | 28/03/2015 | 13/10/2014 |
| 2 | 10/12/2015 | 26/06/2015 |
| 3 | 5/2/2016 | 24/08/2015 |
| 4 | 31/3/2016 | 16/10/2015 |
| 5 | 19/5/2016 | 04/12/2015 |
| 6 | 15/9/2016 | 01/04/2016 |