# FirstWeekDay

整数用于定义将哪一天用作一周的第一天。

语法：

FirstWeekDay

根据国际日期和时间表示标准 ISO 8601，星期一是一周的第一天。在许多国家，星期一也被用作一周的第一天，例如英国、法国、德国和瑞典。

但在其他国家，如美国和加拿大，星期日被认为是一周的开始。

在 Qlik Sense 中，创建应用程序时获取区域设置，相应的设置作为环境变量存储在脚本中。

北美的应用程序开发人员经常在脚本中加入 `Set FirstWeekDay=6;`，对应于星期日。欧洲的应用程序开发人员经常在脚本中加入 `Set FirstWeekDay=0;`，对应于星期一。

可以为 FirstWeekDay 设置值

| 值 | 日 |
| --- | --- |
| 0 | 星期一 |
| 1 | 星期二 |
| 2 | 星期三 |
| 3 | 星期四 |
| 4 | 星期五 |
| 5 | 星期六 |
| 6 | 星期日 |

## 区域设置

除非另有规定，本主题中的示例使用以下日期格式：MM/DD/YYYY。日期格式已经在数据加载脚本中的 `SET DateFormat` 语句中指定。由于区域设置和其他因素，系统中的默认日期格式可能有所不同。您可以更改以下示例中的格式以满足您的要求。或者，您可以更改加载脚本中的格式以匹配这些示例。有关更多信息，请参阅[修改应用程序和脚本的区域设置](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/Apps/regional-settings-in-apps.htm)。

应用程序中的默认区域设置基于用户配置文件。这些区域格式设置与 Qlik Cloud 用户界面中显示的语言无关。Qlik Cloud 将以与您使用的浏览器相同的语言显示。

如果你是应用程序创建者，你可以为自己创建的应用程序设置默认区域。有关更多信息，请参阅[设置 Qlik Cloud Analytics 中创建应用程序和脚本所用的首选区域设置](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/UserInterface/Languages.htm#Setting)。

示例：

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

```
Set FirstWeekDay=0;  // Monday as first week day
Set BrokenWeeks=0;
Set ReferenceDay=4;
```

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

```
Set FirstWeekDay=6;  // Sunday as first week day
Set BrokenWeeks=1;
Set ReferenceDay=1;
```

## 示例 1 – 使用默认值（脚本）

[](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/NumberInterpretationVariables/FirstWeekDay.htm)

#### 加载脚本和结果

概述

打开 数据加载编辑器，并将下面的加载脚本添加到新选项卡。

在此示例中，加载脚本使用默认 Qlik Sense 系统变量值 `FirstWeekDay=6`。该数据包含 2020 年第一个14 天的数据。

加载脚本

```
// Example 1: Load Script using the default value of FirstWeekDay=6, i.e. Sunday

SET FirstWeekDay = 6;

Sales:
LOAD
	 date,
	 sales,
	 week(date) as week,
	 weekday(date) as weekday 
Inline [
date,sales
01/01/2021,6000
01/02/2021,3000
01/03/2021,6000
01/04/2021,8000
01/05/2021,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
01/12/2020,7000
01/13/2020,7000
01/14/2020,7000
];
```

结果

加载数据并打开工作表。创建新表并将这些字段添加为维度：

* `date`

* `week`

* `weekday`

结果表

| 日期 | 周 | weekday |
| --- | --- | --- |
| 01/01/2021 | 1 | Wed |
| 01/02/2021 | 1 | Thu |
| 01/03/2021 | 1 | Fri |
| 01/04/2021 | 1 | Sat |
| 01/05/2021 | 2 | Sun |
| 2020 年 1 月 6 日 | 2 | Mon |
| 2020 年 1 月 7 日 | 2 | Tue |
| 2020 年 1 月 8 日 | 2 | Wed |
| 2020 年 1 月 9 日 | 2 | Thu |
| 01/10/2020 | 2 | Fri |
| 2020 年 1 月 11 日 | 2 | Sat |
| 01/12/2020 | 3 | Sun |
| 01/13/2020 | 3 | Mon |
| 01/14/2020 | 3 | Tue |

由于使用默认设置，`FirstWeekDay` 系统变量设置为 6。在结果表中，可以看到每个新的一周从周日（1 月 5 日和12日）开始。

## 示例 2–更改 FirstWeekDay 变量（脚本）

[](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/NumberInterpretationVariables/FirstWeekDay.htm)

#### 加载脚本和结果

概述

打开 数据加载编辑器，并将下面的加载脚本添加到新选项卡。

在本例中，数据包含 2020 年第一个 14 天的数据。在脚本开始时，我们将变量 `FirstWeekDay` 设置为 3。

加载脚本

```
// Example 2: Load Script setting the value of FirstWeekDay=3, i.e. Thursday

SET FirstWeekDay = 3;

Sales:
LOAD
	date,
	sales,
	week(date) as week,
	weekday(date) as weekday 
Inline [
date,sales
01/01/2021,6000
01/02/2021,3000
01/03/2021,6000
01/04/2021,8000
01/05/2021,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
01/12/2020,7000
01/13/2020,7000
01/14/2020,7000
];
```

结果

加载数据并打开工作表。创建新表并将这些字段添加为维度：

* `date`

* `week`

* `weekday`

结果表

| 日期 | 周 | weekday |
| --- | --- | --- |
| 01/01/2021 | 52 | Wed |
| 01/02/2021 | 1 | Thu |
| 01/03/2021 | 1 | Fri |
| 01/04/2021 | 1 | Sat |
| 01/05/2021 | 1 | Sun |
| 2020 年 1 月 6 日 | 1 | Mon |
| 2020 年 1 月 7 日 | 1 | Tue |
| 2020 年 1 月 8 日 | 1 | Wed |
| 2020 年 1 月 9 日 | 2 | Thu |
| 01/10/2020 | 2 | Fri |
| 2020 年 1 月 11 日 | 2 | Sat |
| 01/12/2020 | 2 | Sun |
| 01/13/2020 | 2 | Mon |
| 01/14/2020 | 2 | Tue |

由于 ` FirstWeekDay  ` 系统变量设置为 3，因此每周的第一天将是星期四。在结果表中，可以看到新的一周从星期四（1 月 2 日和 9 日）开始。