# 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` ステートメントで指定されています。既定の日付書式は、地域の設定やその他の要因により、システムによって異なる場合があります。以下の例の書式は、要件に合わせて変更できます。または、これらの例に一致するようにロード スクリプトの書式を変更できます。

App の既定の地域設定は、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`

結果テーブル

| Date | 週 | weekday |
| --- | --- | --- |
| 01/01/2021 | 1 | 水 |
| 01/02/2021 | 1 | Thu |
| 01/03/2021 | 1 | Fri |
| 01/04/2021 | 1 | Sat |
| 01/05/2021 | 2 | 日 |
| 01/06/2020 | 2 | 月 |
| 01/07/2020 | 2 | 火 |
| 01/08/2020 | 2 | 水 |
| 01/09/2020 | 2 | Thu |
| 01/10/2020 | 2 | Fri |
| 01/11/2020 | 2 | Sat |
| 01/12/2020 | 3 | 日 |
| 01/13/2020 | 3 | 月 |
| 01/14/2020 | 3 | 火 |

デフォルト設定が使用されているため、`FirstWeekDay` システム変数は 6 に設定されています。結果テーブルには、それぞれの週が日曜日で始まるように表示されます (1 月 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`

結果テーブル

| Date | 週 | weekday |
| --- | --- | --- |
| 01/01/2021 | 52 | 水 |
| 01/02/2021 | 1 | Thu |
| 01/03/2021 | 1 | Fri |
| 01/04/2021 | 1 | Sat |
| 01/05/2021 | 1 | 日 |
| 01/06/2020 | 1 | 月 |
| 01/07/2020 | 1 | 火 |
| 01/08/2020 | 1 | 水 |
| 01/09/2020 | 2 | Thu |
| 01/10/2020 | 2 | Fri |
| 01/11/2020 | 2 | Sat |
| 01/12/2020 | 2 | 日 |
| 01/13/2020 | 2 | 月 |
| 01/14/2020 | 2 | 火 |

` FirstWeekDay  ` システム変数が 3 に設定されているため、各週は木曜日に始まります。結果テーブルには、それぞれの週が木曜日で始まるように表示されます (1 月 2 日と 9 日)。