跳到主要内容 跳到补充内容

weekyear - 脚本和图表函数

此函数用于返回根据环境变量周数所属的年份。星期数范围在 1 和大约 52 之间。

语法:  

weekyear(timestamp [, first_week_day [, broken_weeks [, reference_day]]])

返回数据类型: 整数

参数
参数 说明
timestamp 要评估的日期或时间戳。
first_week_day

指定一周的开始日期。如果忽略,使用 FirstWeekDay 变量的值。

可能的值 first_week_day 为:周一为 0,周二为 1,周三为 2,周四为3,周五为 4,周六为 5,星期日为 6。

有关系统变量的详细信息,请参见FirstWeekDay

broken_weeks

如果不指定 broken_weeks,则变量 BrokenWeeks 的值将用于定义周是否已中断。

有关系统变量的详细信息,请参见BrokenWeeks

reference_day

如果不指定 reference_day,则变量 ReferenceDay 的值将用于定义将一月的哪一天设置为定义第 1 周的参考日。默认设置下,Qlik Sense 函数使用 4 作为参考日。这意味着第 1 周必须包含 1 月 4 日,换句话说,第 1 周始终至少具有 1 月份的前 4 天。

有关系统变量的详细信息,请参见ReferenceDay

weekyear() 函数确定日期属于年份的哪个周。然后返回与该周数对应的年份。

如果 BrokenWeeks 设置为 0 (false),weekyear() 将返回与 year() 相同的。

weekyear() 函数范围的图表

显示 weekyear() 函数计算的时间范围的图。

但是,如果 BrokenWeeks 系统变量设置为使用连续周,则根据 ReferenceDay 系统变量中指定的值,第 1 周只能包含 1 月份的特定天数。

例如,如果使用 4ReferenceDay 值,则第 1 周必须包括 1 月份的至少四天。第 1 周可以包括上一年 12 月的日期,或者一年的最后一周可以包括下一年 1 月的日期。在这种情况下,weekyear() 函数将向 year() 函数返回不同的值。

使用非中断周时的 weekyear() 函数范围的图表

显示 weekyear() 函数如何处理非中断周的图表。

当您希望按年份比较聚合时,weekyear() 函数非常有用。例如,如果您希望按年份查看产品的总销售额。当用户希望与应用程序中的 BrokenWeeks 系统变量保持一致时,可以选择 weekyear() 函数而非 year()

区域设置

除非另有规定,本主题中的示例使用以下日期格式:MM/DD/YYYY。日期格式已经在数据加载脚本中的 SET DateFormat 语句中指定。由于区域设置和其他因素,系统中的默认日期格式可能有所不同。您可以更改以下示例中的格式以满足您的要求。或者,您可以更改加载脚本中的格式以匹配这些示例。

应用程序中的默认区域设置基于安装 Qlik Sense 的计算机或服务器的区域系统设置。如果您访问的 Qlik Sense 服务器设置为瑞典,则数据加载编辑器将使用瑞典地区设置的日期、时间和货币。这些区域格式设置与 Qlik Sense 用户界面中显示的语言无关。Qlik Sense 将以与您使用的浏览器相同的语言显示。

函数示例
示例 结果
weekyear('12/30/1996',0,0,4) 返回 1997,因为 1997 年第 1 周从 1996 年 12 月 30 日开始
weekyear('01/02/1997',0,0,4) 返回 1997
weekyear('12/28/1997',0,0,4) 返回 1997
weekyear('12/30/1997',0,0,4) 返回 1998,因为 1998 年第 1 周从 1997 年 12 月 29 日开始
weekyear('01/02/1999',0,0,4) 返回 1998,因为 1998 的第 53 周在 1999 年的 1 月 3 日结束
相关主题
主题 交互
week - 脚本和图表函数 返回根据 ISO 8601 表示周数的整数
year - 脚本和图表函数 根据标准数字解释当表达式被解释为日期时返回一个表示年份的整数。

示例 1 - 中断周

示例 2 - 非中断周

示例 3 – 图表对象示例

示例 4 – 场景

本页面有帮助吗?

如果您发现此页面或其内容有任何问题 – 打字错误、遗漏步骤或技术错误 – 请告诉我们如何改进!