全部展开/折叠  
                     inquarter  - 脚本和图表功能在该页面上  
                此函数用于返回 True ,如果 timestamp  位于包含 base_date  的季度以内。
                语法:    
                InQuarter 
 ( timestamp, base_date, period_no[, first_month_of_year] ) 
                
                返回数据类型:    布尔值
                在 Qlik Sense  中,布尔 true 值由 -1 表示,false 值由 0 表示。 
                
                    inquarter()  函数范围的图表
                    
                  
                换句话说,inquarter()  函数在 1 月 1 日至 12 月 31 日期间将一年分为四个相等的季度。您可以使用 first_month_of_year  参数更改应用程序 中的第一个月,季度将根据该参数进行更改。函数 base_date  确定应将哪个季度用作函数的比较器。最后,该函数在将日期值与该季度段进行比较时返回布尔结果。
                适合使用 inquarter  的情况
                inquarter()  函数返回布尔值结果。通常,这种类型的函数将用作 if expression  中的条件。这将返回一个聚合 或计算,该聚合或计算取决于日期是否发生在所选季度。
                例如,inquarter()  函数可用于根据设备制造日期识别季度段内制造的所有设备。
                
                    参数 
                     
                    
                     
                    
                    
                        
                     
                    
                        
                            timestamp 
                             
                            想要用来与 base_date  进行比较的日期。 
                         
                        
                            base_date 
                             
                            日期用于计算季度的值。 
                         
                        
                            period_no 
                             
                            
                                该季度可通过 period_no  偏移。period_no  为整数,其中值 0 表示该季度包含 base_date 。period_no  为负数表示前几季,为正数则表示随后的几季。 
                             
                         
                        
                            first_month_of_year 
                             
                            如果您不想从一月开始处理(财政)年,可在 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 
                         
                     
                
 
                区域设置 
                除非另有规定,本主题中的示例使用以下日期格式:MM/DD/YYYY。日期格式已经在数据加载脚本中的 SET DateFormat  语句中指定。由于区域设置和其他因素,系统中的默认日期格式可能有所不同。您可以更改以下示例中的格式以满足您的要求。或者,您可以更改加载脚本中的格式以匹配这些示例。有关详细信息,请参阅修改应用程序和脚本的区域设置  。 
                应用程序中的默认区域设置基于用户配置文件。这些区域格式设置与 Qlik Cloud  用户界面中显示的语言无关。Qlik Cloud  将以与您使用的浏览器相同的语言显示。
                如果你是应用程序创建者,你可以为自己创建的应用程序设置默认区域。有关更多信息,请参阅设置 Qlik Cloud Analytics 中创建应用程序和脚本所用的首选区域设置  。
                
                    函数示例 
                     
                     
                    
                        
                            示例   
                            结果   
                         
                     
                    
                        
                            inquarter ('01/25/2013', '01/01/2013', 0)   
                            返回 TRUE  
                         
                        
                            inquarter ('01/25/2013', '04/01/2013', 0)   
                            返回 FALSE  
                         
                        
                            inquarter ('01/25/2013', '01/01/2013', -1)   
                            返回 FALSE  
                         
                        
                            inquarter ('12/25/2012', '01/01/2013', -1)   
                            返回 TRUE  
                         
                        
                            inquarter ('01/25/2013', '03/01/2013', 0, 3)   
                            返回 FALSE  
                         
                        
                            inquarter ('03/25/2013', '03/01/2013', 0, 3)   
                            返回 TRUE  
                         
                     
                
 
                
                    示例 1 – 没有其他参数 
                    加载脚本和结果  
                            概览
                            打开数据加载编辑器,并将下面的加载脚本添加到新部分。 
                            加载脚本包含:
                            
                            加载脚本
                            SET DateFormat='MM/DD/YYYY'; 
Transactions: 
    Load 
       *, 
       inquarter (date,'05/15/2022', 0) as in_quarter 
       ; 
Load 
* 
Inline  
[ 
id,date,amount 
8188,'1/19/2022',37.23 
8189,'1/7/2022',17.17 
8190,'2/28/2022',88.27 
8191,'2/5/2022',57.42 
8192,'3/16/2022',53.80 
8193,'4/1/2022',82.06 
8194,'5/7/2022',40.39 
8195,'5/16/2022',87.21 
8196,'6/15/2022',95.93 
8197,'6/26/2022',45.89 
8198,'7/9/2022',36.23 
8199,'7/22/2022',25.66 
8200,'7/23/2022',82.77 
8201,'7/27/2022',69.98 
8202,'8/2/2022',76.11 
8203,'8/8/2022',25.12 
8204,'8/19/2022',46.23 
8205,'9/26/2022',84.21 
8206,'10/14/2022',96.24 
8207,'10/29/2022',67.67 
];  
                            结果
                            加载数据并打开工作表。创建新表并将这些字段添加为维度:
                            
                            
                                结果表 
                                 
                                 
                                
                                    
                                        date   
                                        in_quarter   
                                     
                                 
                                
                                    
                                        1/7/2022   
                                        0   
                                     
                                    
                                        1/19/2022   
                                        0   
                                     
                                    
                                        2/5/2022   
                                        0   
                                     
                                    
                                        2/28/2022   
                                        0   
                                     
                                    
                                        3/16/2022   
                                        0   
                                     
                                    
                                        4/1/2022   
                                        -1   
                                     
                                    
                                        5/7/2022   
                                        -1   
                                     
                                    
                                        5/16/2022   
                                        -1   
                                     
                                    
                                        6/15/2022   
                                        -1   
                                     
                                    
                                        6/26/2022   
                                        -1   
                                     
                                    
                                        7/9/2022   
                                        0   
                                     
                                    
                                        7/22/2022   
                                        0   
                                     
                                    
                                        7/23/2022   
                                        0   
                                     
                                    
                                        7/27/2022   
                                        0   
                                     
                                    
                                        8/2/2022   
                                        0   
                                     
                                    
                                        8/8/2022   
                                        0   
                                     
                                    
                                        8/19/2022   
                                        0   
                                     
                                    
                                        9/26/2022   
                                        0   
                                     
                                    
                                        10/14/2022   
                                        0   
                                     
                                    
                                        10/29/2022   
                                        0   
                                     
                                 
                            
 
                            in_quarter  字段是在前置 Load 语句中使用 inquarter()  函数创建的。第一个参数标识正在评估的字段。第二个参数是 5 月 15 日的硬编码日期,用于确定要将哪个季度定义为比较器。为 0  的 period_no  是最后一个参数,它确保 inquarter()  函数不会比较分段四分之一之前或之后的四分之一。
                            
                                以 5 月 15 日为基准日的 inquarter()  函数的图表
                                
                              
                            4 月 1 日至 6 月 30 日结束之间发生的任何交易都将返回布尔值结果 TRUE。
                          
                    示例 2 – period_no 
                    加载脚本和结果  
                            概览
                            打开数据加载编辑器,并将下面的加载脚本添加到新部分。 
                            加载脚本包含:
                            
                            加载脚本
                            SET DateFormat='MM/DD/YYYY'; 
Transactions: 
    Load 
       *, 
       inquarter (date,'05/15/2022', -1) as previous_qtr 
       ; 
Load 
* 
Inline  
[ 
id,date,amount 
8188,'1/19/2022',37.23 
8189,'1/7/2022',17.17 
8190,'2/28/2022',88.27 
8191,'2/5/2022',57.42 
8192,'3/16/2022',53.80 
8193,'4/1/2022',82.06 
8194,'5/7/2022',40.39 
8195,'5/16/2022',87.21 
8196,'6/15/2022',95.93 
8197,'6/26/2022',45.89 
8198,'7/9/2022',36.23 
8199,'7/22/2022',25.66 
8200,'7/23/2022',82.77 
8201,'7/27/2022',69.98 
8202,'8/2/2022',76.11 
8203,'8/8/2022',25.12 
8204,'8/19/2022',46.23 
8205,'9/26/2022',84.21 
8206,'10/14/2022',96.24 
8207,'10/29/2022',67.67 
];  
                            结果
                            加载数据并打开工作表。创建新表并将这些字段添加为维度:
                            
                            
                                结果表 
                                 
                                 
                                
                                    
                                        date   
                                        previous_qtr   
                                     
                                 
                                
                                    
                                        1/7/2022   
                                        -1   
                                     
                                    
                                        1/19/2022   
                                        -1   
                                     
                                    
                                        2/5/2022   
                                        -1   
                                     
                                    
                                        2/28/2022   
                                        -1   
                                     
                                    
                                        3/16/2022   
                                        -1   
                                     
                                    
                                        4/1/2022   
                                        0  
                                     
                                    
                                        5/7/2022   
                                        0  
                                     
                                    
                                        5/16/2022   
                                        0  
                                     
                                    
                                        6/15/2022   
                                        0  
                                     
                                    
                                        6/26/2022   
                                        0  
                                     
                                    
                                        7/9/2022   
                                        0   
                                     
                                    
                                        7/22/2022   
                                        0   
                                     
                                    
                                        7/23/2022   
                                        0   
                                     
                                    
                                        7/27/2022   
                                        0   
                                     
                                    
                                        8/2/2022   
                                        0   
                                     
                                    
                                        8/8/2022   
                                        0   
                                     
                                    
                                        8/19/2022   
                                        0   
                                     
                                    
                                        9/26/2022   
                                        0   
                                     
                                    
                                        10/14/2022   
                                        0   
                                     
                                    
                                        10/29/2022   
                                        0   
                                     
                                 
                            
 
                            将 -1  用作 inquarter()  函数中的 period_no  参数将比较器的边界向后移动四分之一。5 月 15 日属于一年的第二季度,因此该部分最初相当于 4 月 1 日至 6 月 30 日的季度。period_no  将此段抵消负三个月,并导致日期边界变为 1 月 1 日至 3 月 30 日。
                            
                                以 5 月 15 日为基准日的 inquarter()  函数的图表
                                
                              
                            因此,1 月 1 日和 3 月 30 日之间发生的任何交易都将返回布尔值结果 TRUE。 
                          
                    示例 3 – first_month_of_year   
                    加载脚本和结果  
                            概览
                            打开数据加载编辑器,并将下面的加载脚本添加到新部分。 
                            加载脚本包含:
                            
                            但是在本例中,组织策略是将三月作为财政年度的第一个月。
                            加载脚本
                            SET DateFormat='MM/DD/YYYY'; 
Transactions: 
    Load 
       *, 
       inquarter (date,'05/15/2022', 0, 3) as in_quarter 
       ; 
Load 
* 
Inline  
[ 
id,date,amount 
8188,'1/19/2022',37.23 
8189,'1/7/2022',17.17 
8190,'2/28/2022',88.27 
8191,'2/5/2022',57.42 
8192,'3/16/2022',53.80 
8193,'4/1/2022',82.06 
8194,'5/7/2022',40.39 
8195,'5/16/2022',87.21 
8196,'6/15/2022',95.93 
8197,'6/26/2022',45.89 
8198,'7/9/2022',36.23 
8199,'7/22/2022',25.66 
8200,'7/23/2022',82.77 
8201,'7/27/2022',69.98 
8202,'8/2/2022',76.11 
8203,'8/8/2022',25.12 
8204,'8/19/2022',46.23 
8205,'9/26/2022',84.21 
8206,'10/14/2022',96.24 
8207,'10/29/2022',67.67 
];  
                            结果
                            加载数据并打开工作表。创建新表并将这些字段添加为维度:
                            
                            
                                结果表 
                                 
                                 
                                
                                    
                                        date   
                                        previous_qtr   
                                     
                                 
                                
                                    
                                        1/7/2022   
                                        0  
                                     
                                    
                                        1/19/2022   
                                        0  
                                     
                                    
                                        2/5/2022   
                                        0  
                                     
                                    
                                        2/28/2022   
                                        0  
                                     
                                    
                                        3/16/2022   
                                        -1   
                                     
                                    
                                        4/1/2022   
                                        -1   
                                     
                                    
                                        5/7/2022   
                                        -1   
                                     
                                    
                                        5/16/2022   
                                        -1   
                                     
                                    
                                        6/15/2022   
                                        0  
                                     
                                    
                                        6/26/2022   
                                        0  
                                     
                                    
                                        7/9/2022   
                                        0   
                                     
                                    
                                        7/22/2022   
                                        0   
                                     
                                    
                                        7/23/2022   
                                        0   
                                     
                                    
                                        7/27/2022   
                                        0   
                                     
                                    
                                        8/2/2022   
                                        0   
                                     
                                    
                                        8/8/2022   
                                        0   
                                     
                                    
                                        8/19/2022   
                                        0   
                                     
                                    
                                        9/26/2022   
                                        0   
                                     
                                    
                                        10/14/2022   
                                        0   
                                     
                                    
                                        10/29/2022   
                                        0   
                                     
                                 
                            
 
                            在 inquarter()  函数中使用 3  作为 first_month_of_year  参数将 3 月 1 日设置为一年的开始,然后将一年划分为几个季度。因此,季度细分为 3 - 5 月、6 - 8 月、9 - 11 月、12-2 月。5 月 15 日的 base_date   将 3-5 月季度设置为函数的比较季度。
                            
                                inquarter()  函数的图表,3 月为一年中的第一个月
                                
                              
                            因此,3 月 1 日至 5 月 31 日之间发生的任何交易都将返回布尔结果 TRUE。
                          
                    示例 4 – 图表对象示例 
                    加载脚本和图表表达式 
                            概览
                            打开数据加载编辑器,并将下面的加载脚本添加到新部分。 
                            加载脚本包含:
                            
                            加载脚本
                            SET DateFormat='MM/DD/YYYY'; 
Transactions: 
Load 
* 
Inline  
[ 
id,date,amount 
8188,'1/19/2022',37.23 
8189,'1/7/2022',17.17 
8190,'2/28/2022',88.27 
8191,'2/5/2022',57.42 
8192,'3/16/2022',53.80 
8193,'4/1/2022',82.06 
8194,'5/7/2022',40.39 
8195,'5/16/2022',87.21 
8196,'6/15/2022',95.93 
8197,'6/26/2022',45.89 
8198,'7/9/2022',36.23 
8199,'7/22/2022',25.66 
8200,'7/23/2022',82.77 
8201,'7/27/2022',69.98 
8202,'8/2/2022',76.11 
8203,'8/8/2022',25.12 
8204,'8/19/2022',46.23 
8205,'9/26/2022',84.21 
8206,'10/14/2022',96.24 
8207,'10/29/2022',67.67 
];  
                            结果
                            加载数据并打开工作表。创建新表并将该字段添加为维度:
                            
                            创建以下度量 以计算交易是否与 5 月 15 日发生在同一季度:
                            =inquarter(date,'05/15/2022', 0)
                            
                                结果表 
                                 
                                 
                                
                                    
                                        date   
                                        in_quarter   
                                     
                                 
                                
                                    
                                        1/7/2022   
                                        0   
                                     
                                    
                                        1/19/2022   
                                        0   
                                     
                                    
                                        2/5/2022   
                                        0   
                                     
                                    
                                        2/28/2022   
                                        0   
                                     
                                    
                                        3/16/2022   
                                        0   
                                     
                                    
                                        4/1/2022   
                                        -1   
                                     
                                    
                                        5/7/2022   
                                        -1   
                                     
                                    
                                        5/16/2022   
                                        -1   
                                     
                                    
                                        6/15/2022   
                                        -1   
                                     
                                    
                                        6/26/2022   
                                        -1   
                                     
                                    
                                        7/9/2022   
                                        0   
                                     
                                    
                                        7/22/2022   
                                        0   
                                     
                                    
                                        7/23/2022   
                                        0   
                                     
                                    
                                        7/27/2022   
                                        0   
                                     
                                    
                                        8/2/2022   
                                        0   
                                     
                                    
                                        8/8/2022   
                                        0   
                                     
                                    
                                        8/19/2022   
                                        0   
                                     
                                    
                                        9/26/2022   
                                        0   
                                     
                                    
                                        10/14/2022   
                                        0   
                                     
                                    
                                        10/29/2022   
                                        0   
                                     
                                 
                            
 
                            通过使用 inquarter()  函数在图表中创建 ‘in_quarter ’ 度量。第一个参数标识正在评估的字段。第二个参数是 5 月 15 日的硬编码日期,用于确定要将哪个季度定义为比较器。为 0  的 period_no  是最后一个参数,它确保 inquarter()  函数不会比较分段四分之一之前或之后的四分之一。 
                            
                                以 5 月 15 日为基准日的 inquarter()  函数的图表
                                
                                
                            4 月 1 日至 6 月 30 日结束之间发生的任何交易都将返回布尔值结果 TRUE。
                          
                    示例 5 – 场景 
                    加载脚本和结果  
                            概览
                            打开数据加载编辑器,并将下面的加载脚本添加到新部分。 
                            加载脚本包含:
                            
                            现已确定,由于设备错误,2022 年 5 月 15 日所在季度生产的产品存在缺陷。最终用户想要一个图表,按季度名称显示生产的产品“有缺陷”或“无缺陷”的状态以及该季度生产的产品的成本。
                            加载脚本
                            Products: 
Load 
* 
Inline  
[ 
product_id,manufacture_date,cost_price 
8188,'1/19/2022',37.23 
8189,'1/7/2022',17.17 
8190,'2/28/2022',88.27 
8191,'2/5/2022',57.42 
8192,'3/16/2022',53.80 
8193,'4/1/2022',82.06 
8194,'5/7/2022',40.39 
8195,'5/16/2022',87.21 
8196,'6/15/2022',95.93 
8197,'6/26/2022',45.89 
8198,'7/9/2022',36.23 
8199,'7/22/2022',25.66 
8200,'7/23/2022',82.77 
8201,'7/27/2022',69.98 
8202,'8/2/2022',76.11 
8203,'8/8/2022',25.12 
8204,'8/19/2022',46.23
8205,'9/26/2022',84.21 
8206,'10/14/2022',96.24 
8207,'10/29/2022',67.67 
];  
                            结果
                            加载数据并打开工作表。创建新表并将该字段添加为维度:
                            =quartername(manufacture_date) 
                            
                            创建以下度量:
                            
                                
                                    =if(only(InQuarter(manufacture_date,makedate(2022,05,15),0)),'Defective','Faultless') ,用于使用 inquarter()  函数识别哪些产品有缺陷,哪些无缺陷:
                                 
                                
                                    =sum(cost_price) ,用于显示每个产品的成本总和。
                                 
                             
                            执行以下操作:
                            
                                
                                    将度量的数字格式 设置为金额 。
                                 
                                
                                    在外观 下,关闭总计 。
                                 
                             
                            
                                结果表 
                                 
                                 
                                 
                                
                                    
                                        quartername(manufacture_date)   
                                        =if(only(InQuarter(manufacture_date,makedate(2022,05,15),0)),'Defective','Faultless')   
                                        Sum(cost_price)   
                                     
                                 
                                
                                    
                                        Jan-Mar 2022   
                                        Faultless   
                                        253.89   
                                     
                                    
                                        Apr-Jun 2022   
                                        Defective   
                                        351.48   
                                     
                                    
                                        Jul-Sep 2022   
                                        Faultless   
                                        446.31   
                                     
                                    
                                        Oct-Dec 2022   
                                        Faultless   
                                        163.91   
                                     
                                 
                            
 
                            inquarter()  函数在评估每个产品的制造日期时返回布尔值。对于包含 5 月 15 日所在季度内生产的任何产品,inquarter()  函数返回布尔值 TRUE,并将产品标记为“缺陷”。对于返回 FALSE 值,因此未在该季度生产的任何产品,它将产品标记为“无故障”。