ReferenceDay
この設定は、第 1 週を定義する基準日として 1 月のどの日を設定するかを定義します。つまりこの設定は、第 1 週うち何日間が 1 月内の日付でなければならないかを規定します。
構文:
ReferenceDay
ReferenceDay は、年の最初の週に含まれる日数を設定します。 ReferenceDay は 1 と 7 の間の任意の値に設定できます。 1-7 の範囲外の値は、週の中間点 (4) として解釈されます。これは、ReferenceDay が 4に設定されているという状態に相当します。
ReferenceDay 設定の値を選択しない場合、以下の ReferenceDay 値テーブルにあるように、既定値には ReferenceDay=0 が表示され、週の中間点 (4) として解釈されます。
ReferenceDay 関数は、多くの場合、次の関数と組み合わせて使用されます。
関連する関数
BrokenWeeks |
Qlik Sense アプリが分割されない週で動作している場合、ReferenceDay 変数の設定が適用されます。ただし、分割された週が使用されている場合、第 1 週 は 1 月 1 日に開始され、FirstWeekDay 変数の設定と連動して終了し、ReferenceDay フラグは無視されます。 |
FirstWeekDay |
週の最初として使用する曜日を定義する整数です。 |
Qlik Sense では、ReferenceDay に次の値を設定できます。
ReferenceDay 値
0 (既定) |
1 月 4 日 |
1 |
1 月 1 日 |
2 |
1 月 2 日 |
3 |
1 月 3 日 |
4 |
1 月 4 日 |
5 |
1 月 5 日 |
6 |
1 月 6 日 |
7 |
1 月 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 Analytics でアプリとスクリプトを作成するための優先地域設定の設定」を参照してください。
週数と週番号の 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 を使用したロード スクリプト
概要
データ ロード エディターを開き、以下のロード スクリプトを新しいタブに追加します。
ロード スクリプトには次が含まれています。
-
0 に設定された ReferenceDay 変数。
-
0 に設定された BrokenWeeks 変数は、アプリに分割していない週を強制します。
-
2019 年末から 2020 年初頭までの日付のデータセット。
ロード スクリプト
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 |
金 |
12/28/2019 |
52 |
土 |
12/29/2019 |
1 |
日 |
12/30/2019 |
1 |
月 |
12/31/2019 |
1 |
火 |
01/01/2020 |
1 |
水 |
01/02/2020 |
1 |
木 |
01/03/2020 |
1 |
金 |
01/04/2020 |
1 |
土 |
01/05/2020 |
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 |
土 |
第 52 週は 12 月 28 日土曜日に終了します。 ReferenceDay では 1 月 4 日を第 1 週に含める必要があるため、第 1 週は 12 月 29 日に始まり、1 月 4 日の土曜日に終了します。
例 - ReferenceDay 変数を 5 に設定
概要
データ ロード エディターを開き、以下のロード スクリプトを新しいタブに追加します。
ロード スクリプトには次が含まれています。
-
5 に設定された ReferenceDay 変数。
-
0 に設定された BrokenWeeks 変数は、アプリに分割していない週を強制します。
-
2019 年末から 2020 年初頭までの日付のデータセット。
ロード スクリプト
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 |
金 |
12/28/2019 |
52 |
土 |
12/29/2019 |
53 |
日 |
12/30/2019 |
53 |
月 |
12/31/2019 |
53 |
火 |
01/01/2020 |
53 |
水 |
01/02/2020 |
53 |
木 |
01/03/2020 |
53 |
金 |
01/04/2020 |
53 |
土 |
01/05/2020 |
1 |
日 |
01/06/2020 |
1 |
月 |
01/07/2020 |
1 |
火 |
01/08/2020 |
1 |
水 |
01/09/2020 |
1 |
木 |
01/10/2020 |
1 |
金 |
01/11/2020 |
1 |
土 |
第 52 週は 12 月 28 日土曜日に終了します。BrokenWeeks 変数は、アプリに分割していない週を強制します。 5 の基準日の値では、1 月 5 日を第 1 週に含める必要があります。
ただし、これは前年の第 52 週の終了から 8 日後です。したがって、第 53 週は 12 月 29 日に開始し、1 月 4 日に終了します。第 1 週は 1 月 5 日の日曜日に開始します。