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

weekstart - 脚本和图表函数

此函数用于返回与包含 date 的日历周的第一天的第一毫秒时间戳对应的值。默认输出格式是在脚本中设置的 DateFormat

语法:  

WeekStart(timestamp [, period_no [, first_week_day ]])

返回数据类型:

weekstart() 函数确定日期属于哪个周。然后以日期格式返回该周第一毫秒的时间戳。一周的第一天由 FirstWeekDay 环境变量确定。但是,这可以被 weekstart() 函数中的 first_week_day 参数取代。

参数
参数 说明
timestamp 要评估的日期或时间戳。
period_no shift 为整数,其中值 0 表示该星期包含 date。shift 为负数,表示前几星期,正数表示随后的几星期。
first_week_day

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

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

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

适用场景

当用户希望计算使用到目前为止已过的一周的部分时,weekstart() 函数通常用作表达式的一部分。例如,如果用户想计算员工一周内迄今为止的工资总额,则可以使用它。

以下示例假设:

SET FirstWeekDay=0;
函数示例
示例 结果
weekstart('01/12/2013') 返回 01/07/2013
weekstart('01/12/2013', -1 ) 返回 11/31/2012
weekstart('01/12/2013', 0, 1) 返回 01/08/2013

区域设置

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

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

示例:  

如果您想要周和周数的 ISO 设置,请确保脚本中包含以下内容:

Set DateFormat ='YYYY-MM-DD'; Set FirstWeekDay =0; // Monday as first week day Set BrokenWeeks =0; //(use unbroken weeks) Set ReferenceDay =4; // Jan 4th is always in week 1

如果需要 US 设置,请确保脚本中包含以下内容:

Set DateFormat ='M/D/YYYY'; Set FirstWeekDay =6; // Sunday as first week day Set BrokenWeeks =1; //(use broken weeks) Set ReferenceDay =1; // Jan 1st is always in week 1

以上示例从 weekstart() 函数中得出以下结果:

Weekend 函数示例
日期 ISO 周初 US 周初
2020 年 12 月 26 日星期六 2020-12-21 12/20/2020
2020 年 12 月 27 日星期日 2020-12-21 12/27/2020
2020 年 12 月 28 日星期一 2020-12-28 12/27/2020
2020 年 12 月 29 日星期二 2020-12-28 12/27/2020
2020 年 12 月 30 日星期三 2020-12-28 12/27/2020
2020 年 12 月 31 日星期四 2020-12-28 12/27/2020
2021 年 1 月 1 日星期五 2020-12-28 12/27/2020
2021 年 1 月 2 日周六 2020-12-28 12/27/2020
2021 年 1 月 3 日星期日 2020-12-28 1/3/2021
2021 年 1 月 4 日星期一 2021-01-04 1/3/2021
2021 年 1 月 5 日星期二 2021-01-04 1/3/2021
信息注释ISO 列中的周初为星期一,US 列中的周初为星期日。

示例 1 – 没有其他参数

示例 2 – period_no

示例 3 – first_week_day

示例 4 – 图表对象

示例 5 – 场景

本页面有帮助吗?

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