month  - 指令碼與圖表函數
                此函數會傳回雙值:一個如環境變數 MonthNames 中所定義的月份名稱,一個介於 1 與 12 之間的整數。月份是根據標準數字解譯,從運算式的日期解譯計算所得。
該函數針對特定日期以 MonthName 系統變數的格式傳回月份名稱。這通常用來建立日欄位,作為主要行事曆中的維度。
語法:
month(expression)
傳回的資料類型: 整數
| 範例 | 結果 | 
|---|---|
| 
                                 month( 2012-10-12 )  | 
                            傳回十月 | 
| month( 35648 ) | 傳回八月,因為 35648 = 1997-08-06 | 
範例 1 – DateFormat 資料集 (指令碼)
概述
開啟 資料載入編輯器 並將下面的載入指令碼新增至新的索引標籤。
載入指令碼包含:
- 
                                    
名稱為 Master_Calendar 的日期資料集。DateFormat 系統變數設定為 DD/MM/YYYY。
 - 
                                    
使用 month() 函數建立附加欄位 (名稱為 month_name) 的前置載入。
 - 
                                    
名稱為 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  | 
                                        
                                             2022 年 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) 的前置載入。
 - 
                                    
名稱為 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) 的前置載入。
 - 
                                    
原始未格式化的日期,名稱為 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 的三月下訂訂單資料集。表格含有三個欄位:
- 
                                            
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 月到期。