# 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` 陳述式中指定。由於地區設定和其他因素，您系統中的預設日期格式可能會不同。您可以變更以下範例中的格式，以滿足您的需求。或者，您可以在載入指令碼中變更格式，以符合這些範例。

應用程式中的預設地區設定是根據安裝 Qlik Sense 之電腦或伺服器的地區系統設定。若您存取的 Qlik Sense 伺服器設定為瑞典，資料載入編輯器將會對日期、時間和貨幣使用瑞典文地區設定。這些地區格式設定與 Qlik Sense 使用者介面中顯示的語言無關。Qlik Sense 顯示的語言將與您正在使用的瀏覽器相同。

範例：

若您想要週和週數的 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/sense/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 | 星期三 |
| 01/02/2021 | 1 | 星期四 |
| 01/03/2021 | 1 | 星期五 |
| 01/04/2021 | 1 | 星期六 |
| 01/05/2021 | 2 | 星期日 |
| 01/06/2020 | 2 | 星期一 |
| 01/07/2020 | 2 | 星期二 |
| 01/08/2020 | 2 | 星期三 |
| 01/09/2020 | 2 | 星期四 |
| 01/10/2020 | 2 | 星期五 |
| 01/11/2020 | 2 | 星期六 |
| 01/12/2020 | 3 | 星期日 |
| 01/13/2020 | 3 | 星期一 |
| 01/14/2020 | 3 | 星期二 |

因為正在使用預設設定，`FirstWeekDay` 系統變數設定為 6。在結果表格中，可以看見新的一週皆從星期日開始 (一月 5 日 和 12 日)。

## 範例 2 – 變更 FirstWeekDay 變數 (指令碼)

[](https://help.qlik.com/en-US/sense/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 | 星期三 |
| 01/02/2021 | 1 | 星期四 |
| 01/03/2021 | 1 | 星期五 |
| 01/04/2021 | 1 | 星期六 |
| 01/05/2021 | 1 | 星期日 |
| 01/06/2020 | 1 | 星期一 |
| 01/07/2020 | 1 | 星期二 |
| 01/08/2020 | 1 | 星期三 |
| 01/09/2020 | 2 | 星期四 |
| 01/10/2020 | 2 | 星期五 |
| 01/11/2020 | 2 | 星期六 |
| 01/12/2020 | 2 | 星期日 |
| 01/13/2020 | 2 | 星期一 |
| 01/14/2020 | 2 | 星期二 |

因為 ` FirstWeekDay  ` 系統變數設定為 3，所以每週的第一天將會是星期四。在結果表格中，可以看見新的一週皆從星期四開始 (一月 2 日和 9 日)。