ReferenceDay在该页面上
该设置定义了将1月的哪一天设置为定义第 1 周的参考日。换句话说,该设置规定了第 1 周中有多少天必须是 1 月内的日期。
语法:
ReferenceDay
ReferenceDay 设置一年中第一周包含的天数。ReferenceDay 可以设置为 1 和 7 之间的任何值。1-7 范围之外的任何值都被解释为周的中点 (4 ),这相当于 ReferenceDay 设置为 4 。
如果未为 ReferenceDay 设置选择值,则默认值将显示 ReferenceDay=0 ,该值将被解释为周的中点 (4 ),如 ReferenceDay 表值所示。
ReferenceDay 函数通常与以下功能结合使用:
相关函数
BrokenWeeks
如果Qlik Sense 应用程序 在连续几周内运行,则将强制执行 ReferenceDay 变量 设置。但是,如果正在使用中断周,则第 1 周将从 1 月 1 日开始,并与 FirstWeekDay 变量设置一起终止,并忽略该 ReferenceDay 标志。
FirstWeekDay
整数用于定义将哪一天用作一周的第一天。
Qlik Sense 允许为 ReferenceDay 设置以下值:
ReferenceDay 值
0(默认)
January 4
1
January 1
2
January 2
3
January 3
4
January 4
5
January 5
6
January 6
7
January 7
在以下示例中, ReferenceDay = 3 将 1 月 3 日定义为参考日:
SET ReferenceDay=3; //(set January 3 as the reference day)
下面的一些示例使用内联加载。有关详细信息,请参阅内联加载 。
区域设置
除非另有规定,本主题中的示例使用以下日期格式:MM/DD/YYYY。日期格式已经在数据加载脚本中的 SET DateFormat 语句中指定。由于区域设置和其他因素,系统中的默认日期格式可能有所不同。您可以更改以下示例中的格式以满足您的要求。或者,您可以更改加载脚本中的格式以匹配这些示例。有关详细信息,请参阅修改应用程序和脚本的区域设置 。
应用程序中的默认区域设置基于用户配置文件。这些区域格式设置与 Qlik Cloud 用户界面中显示的语言无关。Qlik Cloud 将以与您使用的浏览器相同的语言显示。
如果你是应用程序创建者,你可以为自己创建的应用程序设置默认区域。有关更多信息,请参阅设置 Qlik Cloud 分析 中创建应用程序和脚本所用的首选区域设置 。
示例:
如果您想要周和周数的 ISO 设置,请确保脚本中包含以下内容:
Set FirstWeekDay=0;
Set BrokenWeeks=0;
Set ReferenceDay=4; // Jan 4th is always in week 1
如果需要 US 设置,请确保脚本中包含以下内容:
Set FirstWeekDay=6;
Set BrokenWeeks=1;
Set ReferenceDay=1; // Jan 1st is always in week 1
示例 1 – 使用默认值加载脚本;ReferenceDay=0
加载脚本和结果
概述
打开数据加载编辑器,并将下面的加载脚本添加到新选项卡。
加载脚本包含:
加载脚本
SET BrokenWeeks = 0;
SET ReferenceDay = 0;
Sales:
LOAD
date,
sales,
week(date) as week,
weekday(date) as weekday
Inline [
date,sales
12/27/2019,5000
12/28/2019,6000
12/29/2019,7000
12/30/2019,4000
12/31/2019,3000
01/01/2020,6000
01/02/2020,3000
01/03/2020,6000
01/04/2020,8000
01/05/2020,5000
01/06/2020,7000
01/07/2020,3000
01/08/2020,5000
01/09/2020,9000
01/10/2020,5000
01/11/2020,7000
];
结果
加载数据并打开工作表。创建新表并将这些字段添加为维度:
结果表
12/27/2019
52
Fri
12/28/2019
52
Sat
12/29/2019
1
Sun
12/30/2019
1
Mon
12/31/2019
1
Tue
01/01/2020
1
Wed
01/02/2020
1
Thu
01/03/2020
1
Fri
01/04/2020
1
Sat
01/05/2020
2
Sun
01/06/2020
2
Mon
01/07/2020
2
Tue
01/08/2020
2
Wed
01/09/2020
2
Thu
01/10/2020
2
Fri
01/11/2020
2
Sat
第 52 周将于 12 月 28 日星期六结束。因为 ReferenceDay 需要将 1 月 4 日包括在第 1 周中,因此第 1 周从 12 月2 9 日开始,到 1 月 4 号星期六结束。
示例 - ReferenceDay 变量设置为 5
加载脚本和结果
概述
打开数据加载编辑器,并将下面的加载脚本添加到新选项卡。
加载脚本包含:
加载脚本
SET BrokenWeeks = 0;
SET ReferenceDay = 5;
Sales:
LOAD
date,
sales,
week(date) as week,
weekday(date) as weekday
Inline [
date,sales
12/27/2019,5000
12/28/2019,6000
12/29/2019,7000
12/30/2019,4000
12/31/2019,3000
01/01/2020,6000
01/02/2020,3000
01/03/2020,6000
01/04/2020,8000
01/05/2020,5000
01/06/2020,7000
01/07/2020,3000
01/08/2020,5000
01/09/2020,9000
01/10/2020,5000
01/11/2020,7000
];
结果
加载数据并打开工作表。创建新表并将这些字段添加为维度:
结果表
12/27/2019
52
Fri
12/28/2019
52
Sat
12/29/2019
53
Sun
12/30/2019
53
Mon
12/31/2019
53
Tue
01/01/2020
53
Wed
01/02/2020
53
Thu
01/03/2020
53
Fri
01/04/2020
53
Sat
01/05/2020
1
Sun
01/06/2020
1
Mon
01/07/2020
1
Tue
01/08/2020
1
Wed
01/09/2020
1
Thu
01/10/2020
1
Fri
01/11/2020
1
Sat
第 52 周将于 12 月 28 日星期六结束。BrokenWeeks 变量,这迫使应用程序使用连续数周。5 的参考日值要求将 1 月 5 日包括在第 1 周中。
然而,这是去年第 52 周结束后的 8 天。因此,第 53 周从 12 月 29 日开始,1 月 4 日结束。第 1 周从 1 月 5 日星期日开始。