全部展開/全部摺疊  
                     yearname  - 指令碼與圖表函數在此頁面  
                此函數傳回四位數的年度為顯示值,其基礎數值相當於包含 date  的年度的第一天、第一毫秒的時間戳記。
                
                    yearname()  函數的時間範圍圖表。
                    
                  
                yearname()  函數不同於 year()  函數,因為這可讓您移動您要評估的日期,並設定該年的第一個月。
                若該年的第一個月不是 1 月,該函數將會傳回跨越 12 個月期間並包含該日期的兩個四位數年份。例如,若該年於 4 月開始,而評估的日期為 2020 年 6 月 30 日,則傳回的結果會是 2020-2021 。
                
                    將 4 月設定為該年第一個月的 yearname()  函數圖表。
                    
                  
                語法:    
                YearName( date[, period_no[, first_month_of_year] ] ) 
                傳回的資料類型:    雙值
                
                     
                    
                     
                    
                    
                        
                     
                    
                        
                            date 
                             
                            要評估的時間戳記。 
                         
                        
                            period_no 
                             
                            period_no  為整數,其中值 0 表示是包含 date  的年份。負值的 period_no  表示之前的年度,正值表示之後的年度。 
                         
                        
                            first_month_of_year 
                             
                            如果要使用不起始於 1 月的 (會計) 年度,可在 first_month_of_year  中指定介於 2 和 12 之間的值。  顯示值將會是顯示兩個年度的字串。  
                         
                     
                
 
                您可以在 first_month_of_year  引數中使用下列值設定一年的第一個月:
                
                    first_month_of_year 值 
                     
                     
                    
                        
                            月 
                            值  
                         
                     
                    
                        
                            二月  
                            2 
                         
                        
                            三月  
                            3 
                         
                        
                            四月  
                            4 
                         
                        
                            五月  
                            5 
                         
                        
                            六月  
                            6 
                         
                        
                            七月  
                            7 
                         
                        
                            八月  
                            8 
                         
                        
                            九月 
                            9 
                         
                        
                            十月 
                            10 
                         
                        
                            十一月 
                            11 
                         
                        
                            十二月 
                            12 
                         
                     
                
 
                何時使用 yearname 
                若要按年份比較彙總,yearname()  函數很實用。例如,若您想要按年份查看產品的總銷售額。
                可以使用該函數建立主要行事曆表格中的欄位 ,以在載入指令碼 中建立這些維度 。這也能在圖表 中建立以作為計算維度
                區域設定 
                除非另有說明,否則此主題中的範例皆使用下列日期格式:MM/DD/YYYY。日期格式是在資料載入指令碼的 SET DateFormat  陳述式中指定。由於地區設定和其他因素,您系統中的預設日期格式可能會不同。您可以變更以下範例中的格式,以滿足您的需求。或者,您可以在載入指令碼中變更格式,以符合這些範例。如需詳細資訊,請參閱 修改用於應用程式和指令碼的區域設定  。 
                應用程式中的預設地區設定是根據使用者設定檔。這些地區格式設定與 Qlik Cloud  使用者介面中顯示的語言無關。Qlik Cloud  顯示的語言將與您正在使用的瀏覽器相同。
                若您是應用程式建立者,可以為您建立的應用程式設定預設地區。如需詳細資訊,請參閱Qlik Cloud 分析 中設定用於建立應用程式和指令碼的偏好區域設定  。
                
                    函數範例 
                     
                     
                    
                        
                            範例   
                            結果   
                         
                     
                    
                        
                            yearname('10/19/2001')   
                            傳回 '2001'。  
                         
                        
                            yearname('10/19/2001',-1)   
                            傳回 '2000'。   
                         
                        
                            yearname('10/19/2001',0,4)   
                            傳回 '2001-2002'。   
                         
                     
                
 
                
                
                    範例 1 – 無其他引數 
                    載入指令碼和結果 
                            概述
                            開啟資料載入編輯器並將下面的載入指令碼新增至新的區段。 
                            載入指令碼包含:
                            
                                
                                    包含一組 2020 年和 2022 年之間交易的資料集 ,這載入到稱為「Transactions 」的表格中。
                                 
                                
                                    設定為「MM/DD/YYYY 」的 DateFormat  系統變數 。
                                 
                                
                                    使用 yearname()  並設定為 year_name  欄位的前置載入 。
                                 
                             
                            載入指令碼
                            SET DateFormat='MM/DD/YYYY'; 
						
Transactions: 
    Load 
      *, 
      yearname(date) as year_name 
      ; 
Load 
* 
Inline  
[ 
id,date,amount 
8188,'01/13/2020',37.23 
8189,'02/26/2020',17.17 
8190,'03/27/2020',88.27 
8191,'04/16/2020',57.42 
8192,'05/21/2020',53.80 
8193,'08/14/2020',82.06 
8194,'10/07/2020',40.39 
8195,'12/05/2020',87.21 
8196,'01/22/2021',95.93 
8197,'02/03/2021',45.89 
8198,'03/17/2021',36.23 
8199,'04/23/2021',25.66 
8200,'05/04/2021',82.77 
8201,'06/30/2021',69.98 
8202,'07/26/2021',76.11 
8203,'12/27/2021',25.12 
8204,'06/06/2022',46.23 
8205,'07/18/2022',84.21 
8206,'11/14/2022',96.24 
8207,'12/12/2022',67.67 
];  
                            結果
                            載入資料並開啟工作表。建立新的表格並將這些欄位新增為維度:
                            
                            
                                結果表格 
                                 
                                 
                                
                                    
                                        日期   
                                        year_name   
                                     
                                 
                                
                                    
                                        01/13/2020   
                                        2020   
                                     
                                    
                                        02/26/2020   
                                        2020   
                                     
                                    
                                        03/27/2020   
                                        2020   
                                     
                                    
                                        04/16/2020   
                                        2020   
                                     
                                    
                                        05/21/2020   
                                        2020   
                                     
                                    
                                        08/14/2020   
                                        2020   
                                     
                                    
                                        10/07/2020   
                                        2020   
                                     
                                    
                                        12/05/2020   
                                        2020   
                                     
                                    
                                        01/22/2021   
                                        2021   
                                     
                                    
                                        02/03/2021   
                                        2021   
                                     
                                    
                                        03/17/2021   
                                        2021   
                                     
                                    
                                        04/23/2021   
                                        2021   
                                     
                                    
                                        05/04/2021   
                                        2021   
                                     
                                    
                                        06/30/2021   
                                        2021   
                                     
                                    
                                        07/26/2021   
                                        2021   
                                     
                                    
                                        12/27/2021   
                                        2021   
                                     
                                    
                                        06/06/2022   
                                        2022   
                                     
                                    
                                        07/18/2022   
                                        2022   
                                     
                                    
                                        11/14/2022   
                                        2022   
                                     
                                    
                                        12/12/2022   
                                        2022   
                                     
                                 
                            
 
                            「year_name 」欄位在前置 LOAD 陳述式中的建立方式是使用 yearname()  函數並傳遞日期欄位,作為函數的引數。
                            yearname()  函數識別日期值落在哪一年並傳回此作為四位數年份值。
                            
                                yearname()  函數圖表顯示 2021 年為年份值。
                                
                              
                          
                    範例 2 – period_no 
                    載入指令碼和結果 
                            概述
                            開啟資料載入編輯器並將下面的載入指令碼新增至新的區段。 
                            載入指令碼包含:
                            
                                
                                    包含一組 2020 年和 2022 年之間交易的資料集,這載入到稱為「Transactions」的表格中。
                                 
                                
                                    設定為「MM/DD/YYYY 」的 DateFormat 系統變數。
                                 
                                
                                    使用 yearname()  並設定為 year_name  欄位的前置載入。
                                 
                             
                            載入指令碼
                            SET DateFormat='MM/DD/YYYY'; 
Transactions: 
    Load 
      *, 
      yearname(date,-1) as prior_year_name 
      ; 
Load 
* 
Inline  
[ 
id,date,amount 
8188,'01/13/2020',37.23 
8189,'02/26/2020',17.17 
8190,'03/27/2020',88.27 
8191,'04/16/2020',57.42 
8192,'05/21/2020',53.80 
8193,'08/14/2020',82.06 
8194,'10/07/2020',40.39 
8195,'12/05/2020',87.21 
8196,'01/22/2021',95.93 
8197,'02/03/2021',45.89 
8198,'03/17/2021',36.23 
8199,'04/23/2021',25.66 
8200,'05/04/2021',82.77 
8201,'06/30/2021',69.98 
8202,'07/26/2021',76.11 
8203,'12/27/2021',25.12 
8204,'06/06/2022',46.23 
8205,'07/18/2022',84.21 
8206,'11/14/2022',96.24 
8207,'12/12/2022',67.67 
];   
                            結果
                            載入資料並開啟工作表。建立新的表格並將這些欄位新增為維度:
                            
                            
                                結果表格 
                                 
                                 
                                
                                    
                                        日期   
                                        prior_year_name   
                                     
                                 
                                
                                    
                                        01/13/2020   
                                        2019   
                                     
                                    
                                        02/26/2020   
                                        2019   
                                     
                                    
                                        03/27/2020   
                                        2019   
                                     
                                    
                                        04/16/2020   
                                        2019   
                                     
                                    
                                        05/21/2020   
                                        2019   
                                     
                                    
                                        08/14/2020   
                                        2019   
                                     
                                    
                                        10/07/2020   
                                        2019   
                                     
                                    
                                        12/05/2020   
                                        2019   
                                     
                                    
                                        01/22/2021   
                                        2020   
                                     
                                    
                                        02/03/2021   
                                        2020   
                                     
                                    
                                        03/17/2021   
                                        2020   
                                     
                                    
                                        04/23/2021   
                                        2020   
                                     
                                    
                                        05/04/2021   
                                        2020   
                                     
                                    
                                        06/30/2021   
                                        2020   
                                     
                                    
                                        07/26/2021   
                                        2020   
                                     
                                    
                                        12/27/2021   
                                        2020   
                                     
                                    
                                        06/06/2022   
                                        2021   
                                     
                                    
                                        07/18/2022   
                                        2021   
                                     
                                    
                                        11/14/2022   
                                        2021   
                                     
                                    
                                        12/12/2022   
                                        2021   
                                     
                                 
                            
 
                            因為 period_no  的值 -1  作為 yearname()  函數中的偏移引數使用,所以該函數首先會識別交易發生的年份。然後該函數會往前移動一年並傳回產生的年份。
                            
                                具有設定為 -1  之 period_no  的 yearname()  函數圖表。
                                
                              
                          
                    範例 3 – first_month_of_year 
                    載入指令碼和結果 
                            概述
                            開啟資料載入編輯器並將下面的載入指令碼新增至新的區段。 
                            載入指令碼包含:
                            
                            載入指令碼
                            SET DateFormat='MM/DD/YYYY'; 
Transactions: 
    Load 
      *, 
      yearname(date,0,4) as year_name 
      ; 
Load 
* 
Inline  
[ 
id,date,amount 
8188,'01/13/2020',37.23 
8189,'02/26/2020',17.17 
8190,'03/27/2020',88.27 
8191,'04/16/2020',57.42 
8192,'05/21/2020',53.80 
8193,'08/14/2020',82.06 
8194,'10/07/2020',40.39 
8195,'12/05/2020',87.21 
8196,'01/22/2021',95.93 
8197,'02/03/2021',45.89 
8198,'03/17/2021',36.23 
8199,'04/23/2021',25.66 
8200,'05/04/2021',82.77 
8201,'06/30/2021',69.98
8202,'07/26/2021',76.11 
8203,'12/27/2021',25.12 
8204,'06/06/2022',46.23 
8205,'07/18/2022',84.21 
8206,'11/14/2022',96.24 
8207,'12/12/2022',67.67 
]; 
                            結果
                            載入資料並開啟工作表。建立新的表格並將這些欄位新增為維度:
                            
                            
                                結果表格 
                                 
                                 
                                
                                    
                                        日期   
                                        year_name   
                                     
                                 
                                
                                    
                                        01/13/2020   
                                        2019-2020   
                                     
                                    
                                        02/26/2020   
                                        2019-2020   
                                     
                                    
                                        03/27/2020   
                                        2019-2020   
                                     
                                    
                                        04/16/2020   
                                        2020-2021   
                                     
                                    
                                        05/21/2020   
                                        2020-2021   
                                     
                                    
                                        08/14/2020   
                                        2020-2021   
                                     
                                    
                                        10/07/2020   
                                        2020-2021   
                                     
                                    
                                        12/05/2020   
                                        2020-2021   
                                     
                                    
                                        01/22/2021   
                                        2020-2021   
                                     
                                    
                                        02/03/2021   
                                        2020-2021   
                                     
                                    
                                        03/17/2021   
                                        2020-2021   
                                     
                                    
                                        04/23/2021   
                                        2021-2022   
                                     
                                    
                                        05/04/2021   
                                        2021-2022   
                                     
                                    
                                        06/30/2021   
                                        2021-2022   
                                     
                                    
                                        07/26/2021   
                                        2021-2022   
                                     
                                    
                                        12/27/2021   
                                        2021-2022   
                                     
                                    
                                        06/06/2022   
                                        2022-2023   
                                     
                                    
                                        07/18/2022   
                                        2022-2023   
                                     
                                    
                                        11/14/2022   
                                        2022-2023   
                                     
                                    
                                        12/12/2022   
                                        2022-2023   
                                     
                                 
                            
 
                            因為 4  的 first_month_of_year  引數用於 yearname()  函數,所以該年的開始時間從 1 月 1 日移動至 4 月 1 日。因此,每 12 個月期間會跨越兩個曆年,而 yearname()  函數會為評估的日期傳回兩個四位數年份。
                            交易 8198 發生在 2021 年 3 月 17 日。yearname()  函數將該年設為開始於 4 月 1 日,結束於 3 月 30 日。因此,交易 8198 發生在從 2020 年 4 月 1 日到 2021 年 3 月 30 日的年份期間。因此,yearname()  函數會傳回值 2020-2021。
                            
                                將 3 月設定為該年第一個月的 yearname()  函數圖表。
                                
                              
                          
                    範例 4 – 圖表物件範例 
                    載入指令碼和圖表運算式 
                            概述
                            開啟資料載入編輯器並將下面的載入指令碼新增至新的區段。 
                            載入指令碼包含:
                            
                            不過,傳回交易發生年份的欄位在圖表物件中作為量值 來建立。
                            載入指令碼
                            SET DateFormat='MM/DD/YYYY'; 
						
Transactions: 
Load 
* 
Inline  
[ 
id,date,amount 
8188,'01/13/2020',37.23 
8189,'02/26/2020',17.17 
8190,'03/27/2020',88.27 
8191,'04/16/2020',57.42 
8192,'05/21/2020',53.80 
8193,'08/14/2020',82.06 
8194,'10/07/2020',40.39 
8195,'12/05/2020',87.21 
8196,'01/22/2021',95.93 
8197,'02/03/2021',45.89 
8198,'03/17/2021',36.23 
8199,'04/23/2021',25.66 
8200,'05/04/2021',82.77 
8201,'06/30/2021',69.98 
8202,'07/26/2021',76.11 
8203,'12/27/2021',25.12 
8204,'06/06/2022',46.23 
8205,'07/18/2022',84.21 
8206,'11/14/2022',96.24 
8207,'12/12/2022',67.67 
];	 
                            結果
                            載入資料並開啟工作表。建立新的表格並將此欄位新增為維度:
                            date
                            若要計算「year_name 」欄位,建立此量值:
                            =yearname(date)
                            
                                結果表格 
                                 
                                 
                                
                                    
                                        日期   
                                        =yearname(date)   
                                     
                                 
                                
                                    
                                        01/13/2020   
                                        2020   
                                     
                                    
                                        02/26/2020   
                                        2020   
                                     
                                    
                                        03/27/2020   
                                        2020   
                                     
                                    
                                        04/16/2020   
                                        2020   
                                     
                                    
                                        05/21/2020   
                                        2020   
                                     
                                    
                                        08/14/2020   
                                        2020   
                                     
                                    
                                        10/07/2020   
                                        2020   
                                     
                                    
                                        12/05/2020   
                                        2020   
                                     
                                    
                                        01/22/2021   
                                        2021   
                                     
                                    
                                        02/03/2021   
                                        2021   
                                     
                                    
                                        03/17/2021   
                                        2021   
                                     
                                    
                                        04/23/2021   
                                        2021   
                                     
                                    
                                        05/04/2021   
                                        2021   
                                     
                                    
                                        06/30/2021   
                                        2021   
                                     
                                    
                                        07/26/2021   
                                        2021   
                                     
                                    
                                        12/27/2021   
                                        2021   
                                     
                                    
                                        06/06/2022   
                                        2022   
                                     
                                    
                                        07/18/2022   
                                        2022   
                                     
                                    
                                        11/14/2022   
                                        2022   
                                     
                                    
                                        12/12/2022   
                                        2022   
                                     
                                 
                            
 
                            「year_name 」量值在圖表物件中的建立方式是使用 yearname()  函數並傳遞日期欄位,作為函數的引數。
                            yearname()  函數識別日期值落在哪一年並傳回此作為四位數年份值。
                            
                                yearname()  函數圖表以 2021 年為年份值。
                                
                              
                          
                    範例 5 – 情境 
                    載入指令碼和圖表運算式 
                            概述
                            開啟資料載入編輯器並將下面的載入指令碼新增至新的區段。 
                            載入指令碼包含:
                            
                            最終使用者希望圖表按季呈現交易的總銷售額。使用 yearname()  函數作為計算維度 ,以在 yearname()  維度無法用於資料模型時建立此圖表。
                            載入指令碼
                            SET DateFormat='MM/DD/YYYY'; 
Transactions: 
Load 
* 
Inline  
[ 
id,date,amount 
8188,'01/13/2020',37.23 
8189,'02/26/2020',17.17 
8190,'03/27/2020',88.27 
8191,'04/16/2020',57.42 
8192,'05/21/2020',53.80 
8193,'08/14/2020',82.06 
8194,'10/07/2020',40.39 
8195,'12/05/2020',87.21 
8196,'01/22/2021',95.93 
8197,'02/03/2021',45.89 
8198,'03/17/2021',36.23 
8199,'04/23/2021',25.66 
8200,'05/04/2021',82.77 
8201,'06/30/2021',69.98 
8202,'07/26/2021',76.11 
8203,'12/27/2021',25.12 
8204,'06/06/2022',46.23 
8205,'07/18/2022',84.21 
8206,'11/14/2022',96.24 
8207,'12/12/2022',67.67 
]; 
                            結果
                            載入資料並開啟工作表 。建立新的表格。
                            若要按年份比較彙總,建立此計算維度:
                            =yearname(date) 
                            
                            建立此量值:
                            =sum(amount) 
                            
                            將量值的數字格式 設定為金錢 。
                            
                                結果表格 
                                 
                                 
                                
                                    
                                        yearname(date)   
                                        =sum(amount)   
                                     
                                 
                                
                                    
                                        2020   
                                        $463.55   
                                     
                                    
                                        2021   
                                        $457.69   
                                     
                                    
                                        2022   
                                        $294.35