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

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

Функция возвращает день месяца для определенной даты. Она широко используется с целью получения значения для поля дня в составе измерения календаря.

Синтаксис:

day(expression)

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

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

| Пример | Результат |
| --- | --- |
| `day(<br>1971-10-12 )` | возвращает 12 |
| `day(<br>35648 )` | возвращает 6, так как 35648 = 1997–08–06 |

## Пример 1. Набор данных DateFormat (скрипт)

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

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

Обзор

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

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

* Набор данных с датами под именем `Master_Calendar`. Системной переменной `DateFormat` задано значение DD/MM/YYYY.

* Предшествующая загрузка, создающая дополнительное поле под именем `day_of_month` с использованием функции `day()`.

* Дополнительное поле под именем `long_date` с использованием функции `date()` для выражения полного названия месяца.

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

```

SET DateFormat='DD/MM/YYYY';

Master_Calendar:
Load
        date,
        date(date,'dd-MMMM-YYYY') as long_date,
        day(date) as day_of_month
Inline 
[
date
03/11/2022
03/12/2022
03/13/2022
03/14/2022
03/15/2022
03/16/2022
03/17/2022
03/18/2022
03/19/2022
03/20/2022
03/21/2022						
];
```

Результаты

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

* `date`

* `long_date`

* `day_of_month`

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

| date | long\_date | day\_of\_month |
| --- | --- | --- |
| 03/11/2022 | 11-March- 2022 | 11 |
| 03/12/2022 | 12-March- 2022 | 12 |
| 03/13/2022 | 13-March- 2022 | 13 |
| 03/14/2022 | 14-March- 2022 | 14 |
| 03/15/2022 | 15-March- 2022 | 15 |
| 03/16/2022 | 16-March- 2022 | 16 |
| 03/17/2022 | 17-March- 2022 | 17 |
| 03/18/2022 | 18-March- 2022 | 18 |
| 03/19/2022 | 19-March- 2022 | 19 |
| 03/20/2022 | 20-March- 2022 | 20 |
| 03/21/2022 | 21-March- 2022 | 21 |

День месяца правильно вычисляется функцией `day()` в скрипте.

## Пример 2. Даты ANSI (скрипт)

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

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

Обзор

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

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

* Набор данных с датами под именем `Master_Calendar`. Используется системная переменная DateFormat DD/MM/YYYY. Однако даты, включенные в набор данных, имеют формат стандарта ANSI.

* Предшествующая загрузка, создающая дополнительное поле под именем `day_of_month` с использованием функции `date()`.

* Дополнительное поле под именем `long_date` с использованием функции `date()` для выражения даты с использованием полного названия месяца.

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

```

SET DateFormat='DD/MM/YYYY'; 
Master_Calendar: 
Load 
       date, 
       date(date,'dd-MMMM-YYYY') as long_date, 
       day(date) as day_of_month

Inline  
[ 
date 
2022-03-11
2022-03-12
2022-03-13
2022-03-14
2022-03-15
2022-03-16
2022-03-17
2022-03-18
2022-03-19
2022-03-20
2022-03-21
 ]; 
```

Результаты

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

* `date`

* `long_date`

* `day_of_month`

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

| date | long\_date | day\_of\_month |
| --- | --- | --- |
| 03/11/2022 | 11-March- 2022 | 11 |
| 03/12/2022 | 12-March- 2022 | 12 |
| 03/13/2022 | 13-March- 2022 | 13 |
| 03/14/2022 | 14-March- 2022 | 14 |
| 03/15/2022 | 15-March- 2022 | 15 |
| 03/16/2022 | 16-March- 2022 | 16 |
| 03/17/2022 | 17-March- 2022 | 17 |
| 03/18/2022 | 18-March- 2022 | 18 |
| 03/19/2022 | 19-March- 2022 | 19 |
| 03/20/2022 | 20-March- 2022 | 20 |
| 03/21/2022 | 21-March- 2022 | 21 |

День месяца правильно вычисляется функцией `day()` в скрипте.

## Пример 3. Неформатированные даты (скрипт)

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

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

Обзор

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

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

* Набор данных с датами под именем `Master_Calendar`. Используется системная переменная `  DateFormat ` DD/MM/YYYY.

* Предшествующая загрузка, создающая дополнительное поле под именем `day_of_month` с использованием функции `day()`.

* Первоначальная дата без форматирования под именем `unformatted_date`.

* Дополнительное поле под именем `long_date` с использованием `date()` служит для преобразования цифровой даты в поле форматированной даты.

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

```

SET DateFormat='DD/MM/YYYY'; 

Master_Calendar: 
Load 
      unformatted_date, 
      date(unformatted_date,'dd-MMMM-YYYY') as long_date, 
      day(date) as day_of_month

Inline
[ 
unformatted_date 
44868 
44898 
44928 
44958 
44988 
45018 
45048 
45078 
45008 
45038 
45068 
]; 

```

Результаты

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

* `unformatted_date`

* `long_date`

* `day_of_month`

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

| unformatted\_date | long\_date | day\_of\_month |
| --- | --- | --- |
| 44868 | 03-November- 2022 | 3 |
| 44898 | 03-December- 2022 | 3 |
| 44928 | 02-January- 2023 | 2 |
| 44958 | 01-February- 2023 | 1 |
| 44988 | 03-March- 2023 | 3 |
| 45008 | 23-March- 2023 | 23 |
| 45018 | 02-April- 2023 | 2 |
| 45038 | 22-April- 2023 | 22 |
| 45048 | 02-May- 2023 | 2 |
| 45068 | 02-May- 2023 | 22 |
| 45078 | 01-June- 2023 | 1 |

День месяца правильно вычисляется функцией `day()` в скрипте.

## Пример 4. Расчет месяца окончания срока действия (диаграмма)

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

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

Обзор

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

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

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

  * id

  * order\_date

  * amount

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

```

Orders: 
Load 
	 id, 
	 order_date, 
	 amount 
Inline  
[ 
id,order_date,amount 
1,03/01/2022,231.24 
2,03/02/2022,567.28 
3,03/03/2022,364.28 
4,03/04/2022,575.76 
5,03/05/2022,638.68 
6,03/06/2022,785.38 
7,03/07/2022,967.46 
8,03/08/2022,287.67 
9,03/09/2022,764.45 
10,03/10/2022,875.43 
11,03/11/2022,957.35 
]; 

```

Результаты

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

Чтобы рассчитать дату доставки, создайте эту меру: `=day(order_date+5)`.

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

| order\_date | =day(order\_date+5) |
| --- | --- |
| 03/11/2022 | 16 |
| 03/12/2022 | 17 |
| 03/13/2022 | 18 |
| 03/14/2022 | 19 |
| 03/15/2022 | 20 |
| 03/16/2022 | 21 |
| 03/17/2022 | 22 |
| 03/18/2022 | 23 |
| 03/19/2022 | 24 |
| 03/20/2022 | 25 |
| 03/21/2022 | 26 |

Функция `day()` правильно определяет, что заказ, размещенный 11 марта, будет доставлен 16 марта с учетом 5-дневного периода доставки.

## Подробнее

* [Загрузка данных из ранее загруженной таблицы](https://help.qlik.com/ru-RU/sense/May2025/Subsystems/Hub/Content/Sense_Hub/Scripting/load-data-from-previously-loaded-table.htm)