day — функция скриптa и диаграммы
Эта функция возвращает день в виде целого числа, а дробное выражение expression интерпретируется как дата согласно стандартной интерпретации чисел.
Функция возвращает день месяца для определенной даты. Она широко используется с целью получения значения для поля дня в составе измерения календаря.
Синтаксис:
day(expression)
Возвращаемые типы данных: целое
Пример | Результат |
---|---|
day( 1971-10-12 ) |
возвращает 12 |
day( 35648 ) | возвращает 6, так как 35648 = 1997–08–06 |
Пример 1. Набор данных DateFormat (скрипт)
Обзор
Откройте Редактор загрузки данных и добавьте приведенный ниже скрипт загрузки на новую вкладку.
Скрипт загрузки содержит следующее:
-
Набор данных с датами под именем 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 (скрипт)
Обзор
Откройте Редактор загрузки данных и добавьте приведенный ниже скрипт загрузки на новую вкладку.
Скрипт загрузки содержит следующее:
-
Набор данных с датами под именем 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. Неформатированные даты (скрипт)
Обзор
Откройте Редактор загрузки данных и добавьте приведенный ниже скрипт загрузки на новую вкладку.
Скрипт загрузки содержит следующее:
-
Набор данных с датами под именем 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. Расчет месяца окончания срока действия (диаграмма)
Обзор
Откройте Редактор загрузки данных и добавьте приведенный ниже скрипт загрузки на новую вкладку.
Скрипт загрузки содержит следующее:
-
Набор данных с заказами, размещенными в марте, под именем 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-дневного периода доставки.