month - 脚本和图表函数
此函数用于返回包含在环境变量 MonthNames 中定义的月份名称的对偶值和一个介于 1 至 12 的整数。月份根据标准数字解释通过表达式的日期解释进行计算。
函数以 MonthName 系统变量的格式返回特定日期的月份名称。它通常用于在主日历中创建日期字段作为维度。
语法:
month(expression)
返回数据类型: 整数
示例 | 结果 |
---|---|
month( 2012-10-12 ) |
返回 Oct |
month( 35648 ) | 返回 Aug,因为 35648 = 1997-08-06 |
示例 1 – DateFormat 数据集(脚本)
概述
打开 数据加载编辑器,并将下面的加载脚本添加到新选项卡。
加载脚本包含:
-
名称为 Master_Calendar 的日期数据集。DateFormat 系统变量设置为 DD/MM/YYYY。
-
使用 month() 函数创建另一个名为 month_name 的字段的前置 Load。
-
另一个名为 long_date 的字段,使用 date() 功能表示完整的日期。
加载脚本
SET DateFormat='DD/MM/YYYY';
Master_Calendar:
Load
date,
date(date,'dd-MMMM-YYYY') as long_date,
month(date) as month_name
Inline
[
date
03/01/2022
03/02/2022
03/03/2022
03/04/2022
03/05/2022
03/06/2022
03/07/2022
03/08/2022
03/09/2022
03/10/2022
03/11/2022
];
结果
加载数据并打开工作表。创建新表并将这些字段添加为维度:
-
date
-
long_date
-
month_name
日期 |
long_date |
month_name |
---|---|---|
03/01/2022 |
2022 年 1 月 3 日 |
一月 |
03/02/2022 |
2022 年 2 月 3 日 |
二月 |
03/03/2022 |
2022 年 3 月 3 日 |
三月 |
03/04/2022 |
2022 年 4 月 3 日 |
四月 |
03/05/2022 |
2023 年 5 月 3 日 |
五月 |
03/06/2022 |
2022 年 6 月 3 日 |
六月 |
03/07/2022 |
2022 年 7 月 3 日 |
7 月 |
03/08/2022 |
2022 年 8 月 3 日 |
8 月 |
03/09/2022 |
2022 年 9 月 3 日 |
9 月 |
03/10/2022 |
2022 年 10 月 3 日 |
10 月 |
03/11/2022 |
2022 年 11 月 3 日 |
11 月 |
脚本中的 month() 函数可以正确计算月份的名称。
示例 2–ANSI 日期(脚本)
概述
打开 数据加载编辑器,并将下面的加载脚本添加到新选项卡。
加载脚本包含:
-
名称为 Master_Calendar 的日期数据集。使用 DateFormat 系统变量 DD/MM/YYYY。但是,数据集中包含的日期采用 ANSI 标准日期格式。
-
使用 month() 功能创建另一个名为 month_name 的字段的前置 Load。
-
另一个名为 long_date 的字段,使用 date() 函数表示完整的日期。
加载脚本
SET DateFormat='DD/MM/YYYY';
Master_Calendar:
Load
date,
date(date,'dd-MMMM-YYYY') as long_date,
month(date) as month_name
Inline
[
date
2022-01-11
2022-02-12
2022-03-13
2022-04-14
2022-05-15
2022-06-16
2022-07-17
2022-08-18
2022-09-19
2022-10-20
2022-11-21
];
结果
加载数据并打开工作表。创建新表并将这些字段添加为维度:
-
date
-
long_date
-
month_name
日期 |
long_date |
month_name |
---|---|---|
03/11/2022 | 2022 年 3 月 11 日 | 11 |
03/12/2022 | 2022 年 3 月 12 日 | 12 |
03/13/2022 | 2022 年 3 月 13 日 | 13 |
03/14/2022 | 2022 年 3 月 14 日 | 14 |
03/15/2022 | 2022 年 3 月 15 日 | 15 |
03/16/2022 | 2022 年 3 月 16 日 | 16 |
03/17/2022 | 2022 年 3 月 17 日 | 17 |
03/18/2022 | 2022 年 3 月 18 日 | 18 |
03/19/2022 | 2022 年 3 月 19 日 | 19 |
03/20/2022 | 2022 年 3 月 20 日 | 20 |
03/21/2022 | 2022 年 3 月 21 日 | 21 |
脚本中的 month() 函数可以正确计算月份的名称。
示例 3 – 未格式化日期(脚本)
概述
打开 数据加载编辑器,并将下面的加载脚本添加到新选项卡。
加载脚本包含:
-
名称为 Master_Calendar 的日期数据集。使用 DateFormat 系统变量 DD/MM/YYYY。
-
使用 month() 功能创建另一个名为 month_name 的字段的前置 Load。
-
原始未格式化日期,命名为 unformatted_date。
-
另一个名为 long_date 的字段,使用 date() 功能表示完整的日期。
加载脚本
SET DateFormat='DD/MM/YYYY';
Master_Calendar:
Load
unformatted_date,
date(unformatted_date,'dd-MMMM-YYYY') as long_date,
month(unformatted_date) as month_name
Inline
[
unformatted_date
44868
44898
44928
44958
44988
45018
45048
45078
45008
45038
45068
];
结果
加载数据并打开工作表。创建新表并将这些字段添加为维度:
-
unformatted_date
-
long_date
-
month_name
unformatted_date |
long_date |
month_name |
---|---|---|
44868 | 2022 年 1 月 3 日 | 一月 |
44898 | 2022 年 2 月 3 日 | 二月 |
44928 | 2022 年 3 月 3 日 | 三月 |
44958 | 2022 年 4 月 3 日 | 四月 |
44988 | 2022 年 5 月 3 日 | 五月 |
45018 | 2022 年 6 月 3 日 | 六月 |
45048 | 2022 年 7 月 3 日 | 7 月 |
45078 | 2022 年 8 月 3 日 | 8 月 |
45008 | 2022 年 9 月 3 日 | 9 月 |
45038 | 2022 年 10 月 3 日 | 10 月 |
45068 | 2022 年 11 月 3 日 | 11 月 |
脚本中的 month() 函数可以正确计算月份的名称。
示例 4 – 计算到期月
概述
打开 数据加载编辑器,并将下面的加载脚本添加到新选项卡。
加载脚本包含:
-
名为 Subscriptions 的 3 月订单数据集。表格包含三个字段:
-
id
-
order_date
-
金额
-
加载脚本
Subscriptions:
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。
要计算订单的到期月份,请创建以下度量:=month(order_date+180)。
order_date | =month(order_date+180) |
---|---|
03/01/2022 | 7 月 |
03/02/2022 | 8 月 |
03/03/2022 | 8 月 |
03/04/2022 | 9 月 |
03/05/2022 | 10 月 |
03/06/2022 | 11 月 |
03/07/2022 | 12 月 |
03/08/2022 | 一月 |
03/09/2022 | 三月 |
03/10/2022 | 四月 |
03/11/2022 | 五月 |
month() 函数正确地确定了3月11日下达的订单将于7月到期。