day  - 脚本和图表函数
                此函数用于根据标准数字解释当 expression 小数部分被解释为日期时返回一个表示某天的整数。
函数返回特定月份的日期。它通常用于将日期字段作为日历维度的一部分导出。
语法:
day(expression)
返回数据类型: 整数
| 示例 | 结果 | 
|---|---|
| 
                                 day( 1971-10-12 )  | 
                            返回 12 | 
| day( 35648 ) | 返回 6,因为 35648 = 1997-08-06 | 
示例 1 – DateFormat 数据集(脚本)
概述
打开 数据加载编辑器,并将下面的加载脚本添加到新选项卡。
加载脚本包含:
- 
                                    
名称为 Master_Calendar 的日期数据集。DateFormat 系统变量设置为 DD/MM/YYYY。
 - 
                                    
使用 day() 功能创建另一个名为 day_of_month 的字段的前置 Load。
 - 
                                    
另一个名为 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
 
| 
                                             日期  | 
                                        
                                             long_date  | 
                                        
                                             day_of_month  | 
                                    
|---|---|---|
| 
                                             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  | 
                                    
脚本中的 day() 函数可以正确计算月份的日期。
示例 2–ANSI 日期(脚本)
概述
打开 数据加载编辑器,并将下面的加载脚本添加到新选项卡。
加载脚本包含:
- 
                                    
名称为 Master_Calendar 的日期数据集。使用 DateFormat 系统变量 DD/MM/YYYY。但是,数据集中包含的日期采用 ANSI 标准日期格式。
 - 
                                    
使用 date() 功能创建另一个名为 day_of_month 的字段的前置 Load。
 - 
                                    
另一个名为 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
 
| 
                                             日期  | 
                                        
                                             long_date  | 
                                        
                                             day_of_month  | 
                                    
|---|---|---|
| 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 | 
脚本中的 day() 函数可以正确计算月份的日期。
示例 3 – 未格式化日期(脚本)
概述
打开 数据加载编辑器,并将下面的加载脚本添加到新选项卡。
加载脚本包含:
- 
                                    
名称为 Master_Calendar 的日期数据集。使用 DateFormat 系统变量 DD/MM/YYYY。
 - 
                                    
使用 day() 功能创建另一个名为 day_of_month 的字段的前置 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, 
      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  | 
                                        
                                             2022 年 11 月 3 日  | 
                                        
                                             3  | 
                                    
| 
                                             44898  | 
                                        
                                             2022 年 12 月 3 日  | 
                                        
                                             3  | 
                                    
| 
                                             44928  | 
                                        
                                             2023 年 1 月 2 日  | 
                                        
                                             2  | 
                                    
| 
                                             44958  | 
                                        
                                             2023 年 2 月 1 日  | 
                                        
                                             1  | 
                                    
| 
                                             44988  | 
                                        
                                             2023 年 3 月 3 日  | 
                                        
                                             3  | 
                                    
| 
                                             45008  | 
                                        
                                             2023 年 3 月 23 日  | 
                                        
                                             23  | 
                                    
| 
                                             45018  | 
                                        
                                             2023 年 4 月 2 日  | 
                                        
                                             2  | 
                                    
| 
                                             45038  | 
                                        
                                             2023 年 4 月 22 日  | 
                                        
                                             22  | 
                                    
| 
                                             45048  | 
                                        
                                             2023 年 5 月 2 日  | 
                                        
                                             2  | 
                                    
| 
                                             45068  | 
                                        
                                             2023 年 5 月 22 日  | 
                                        
                                             22  | 
                                    
| 
                                             45078  | 
                                        
                                             2023 年 6 月 1 日  | 
                                        
                                             1  | 
                                    
脚本中的 day() 函数可以正确计算月份的日期。
示例 4 – 计算到期月(图表)
概述
打开 数据加载编辑器,并将下面的加载脚本添加到新选项卡。
加载脚本包含:
- 
                                    
名为 Orders 的 3 月订单数据集。表格包含三个字段:
- 
                                            
id
 - 
                                            
order_date
 - 
                                            
金额
 
 - 
                                            
 
加载脚本
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() 功能可正确确定 3 月 11 日的订单将在 16 日根据 5 天的交货期交货。