inyear - 脚本和图表函数
此函数用于返回 True,如果 timestamp 位于包含 base_date 的年份以内。
语法:
InYear (timestamp, base_date, period_no [, first_month_of_year])
返回数据类型: 布尔值
在 Qlik Sense 中,布尔 true 值由 -1 表示,false 值由 0 表示。
inyear() 函数将所选日期值与 base_date 定义的年份进行比较时,返回布尔值结果。
适用场景
inyear() 函数返回布尔值结果。通常,这种类型的函数将用作 if expression 中的条件。这将返回一个聚合或计算,具体取决于评估的日期是否发生在相关年份。例如,inyear() 函数可用于识别定义年份中发生的所有销售。
参数 | 说明 |
---|---|
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 参数中设置一年中的第一个月:
月 | 值 |
---|---|
二月 | 2 |
三月 | 3 |
四月 | 4 |
五月 | 5 |
六月 | 6 |
七月 | 7 |
八月 | 8 |
九月 | 9 |
十月 | 10 |
十一月 | 11 |
十二月 |
12 |
区域设置
除非另有规定,本主题中的示例使用以下日期格式:MM/DD/YYYY。日期格式已经在数据加载脚本中的 SET DateFormat 语句中指定。由于区域设置和其他因素,系统中的默认日期格式可能有所不同。您可以更改以下示例中的格式以满足您的要求。或者,您可以更改加载脚本中的格式以匹配这些示例。
应用程序中的默认区域设置基于安装 Qlik Sense 的计算机或服务器的区域系统设置。如果您访问的 Qlik Sense 服务器设置为瑞典,则数据加载编辑器将使用瑞典地区设置的日期、时间和货币。这些区域格式设置与 Qlik Sense 用户界面中显示的语言无关。Qlik Sense 将以与您使用的浏览器相同的语言显示。
示例 | 结果 |
---|---|
inyear ('01/25/2013', '01/01/2013', 0 ) | 返回 TRUE |
inyear ('01/25/2012', '01/01/2013', 0) | 返回 FALSE |
inyear ('01/25/2013', '01/01/2013', -1) | 返回 FALSE |
inyear ('01/25/2012', '01/01/2013', -1 ) | 返回 TRUE |
inyear ('01/25/2013', '01/01/2013', 0, 3) |
返回 TRUE base_date 和 first_month_of_year 的值 指定时间戳 必须在 01/03/2012 和 02/28/2013 之间 |
inyear ('03/25/2013', '07/01/2013', 0, 3 ) | 返回 TRUE |