DateFormat
この環境変数は、アプリで既定値として使用される日付形式と、 date() や date#()などの日付を返す関数を定義します。この形式は、日付の解釈と書式設定に使用されます。この変数が定義されていない場合、スクリプトの実行時に元の設定の日付形式が取得されます。
構文:
DateFormat
DateFormat 関数の例
例 |
結果 |
Set DateFormat='M/D/YY'; //(US format)
|
この DateFormat 関数の使用は、日付を米国形式で (月/日/年) として定義します。 |
Set DateFormat='DD/MM/YY'; //(UK date format)
|
この DateFormat 関数の使用は、日付を英国形式で (日/月/年) として定義します。 |
Set DateFormat='YYYY/MM/DD'; //(ISO date format)
|
この DateFormat 関数の使用は、日付を ISO 形式で (年/月/日) として定義します。 |
地域の設定
特に指定のない限り、このトピックの例では次の日付書式を使用しています: MM/DD/YYYY。日付書式は、データ ロード スクリプトの SET DateFormat ステートメントで指定されています。既定の日付書式は、地域の設定やその他の要因により、システムによって異なる場合があります。以下の例の書式は、要件に合わせて変更できます。または、これらの例に一致するようにロード スクリプトの書式を変更できます。詳しくは「アプリとスクリプトの地域設定の変更」を参照してください。
アプリの既定地域設定は、ユーザー プロファイルに基づいています。これらの地域の書式設定は、Qlik Cloud ユーザー インターフェースに表示される言語とは関係ありません。Qlik Cloud は使用しているブラウザと同じ言語で表示されます。
アプリの作成者は、作成するアプリの既定の地域を設定できます。詳細については、「Qlik Cloud Analytics でアプリとスクリプトを作成するための優先地域設定の設定」を参照してください。
例 1 – システム変数の既定
概要
データ ロード エディターを開き、以下のロード スクリプトを新しいタブに追加します。
ロード スクリプトには次が含まれています。
この例では、データセットが「Transactions」というテーブルにロードされます。これには、date 項目が含まれます。米国の DateFormat 定義が使用されます。このパターンは、日付をロードするときに、暗黙的なテキストから日付に変換するために使用されます。
ロード スクリプト
Set DateFormat='MM/DD/YYYY';
Transactions:
LOAD
date,
month(date) as month,
id,
amount
INLINE
[
date,id,amount
01/01/2022,1,1000
02/01/2022,2,2123
03/01/2022,3,4124
04/01/2022,4,2431
];
結果
データをロードしてシートを開きます。新しいテーブルを作成し、これらの項目を軸として追加します。
このメジャーを作成します。
=sum(amount)
結果テーブル
日付 |
月 |
=sum(amount) |
01/01/2022 |
Jan |
1000 |
02/01/2022 |
Feb |
2123 |
03/01/2022 |
Mar |
4124 |
04/01/2022 |
Apr |
2431 |
テキストから日付への暗黙的な変換のために、DateFormat 定義 MM/DD/YYYY が使用されます。このため、[date] 項目は日付として正しく解釈されます。結果テーブルにあるとおり、日付の表示には同じ形式が使用されます。
例 2 – システム変数の変更
概要
データ ロード エディターを開き、以下のロード スクリプトを新しいタブに追加します。
ロード スクリプトには次が含まれています。
ロード スクリプト
SET DateFormat='DD/MM/YYYY';
Transactions:
LOAD
date,
month(date) as month,
id,
amount
INLINE
[
date,id,amount
01/01/2022,1,1000
02/01/2022,2,2123
03/01/2022,3,4124
04/01/2022,4,2431
];
結果
データをロードしてシートを開きます。新しいテーブルを作成し、これらの項目を軸として追加します。
このメジャーを作成します。
=sum(amount)
結果テーブル
日付 |
月 |
=sum(amount) |
01/01/2022 |
Jan |
1000 |
02/01/2022 |
Jan |
2123 |
03/01/2022 |
Jan |
4124 |
04/01/2022 |
Jan |
2431 |
DateFormat 定義は「DD/MM/YYYY」に設定されていたため、最初の「/」記号の後に続く 2 桁が月として解釈され、その結果すべてのレコードは 1 月からのものになります。
例 3 – 日付の解釈
概要
データ ロード エディターを開き、以下のロード スクリプトを新しいタブに追加します。
ロード スクリプトには次が含まれています。
ロード スクリプト
SET DateFormat='MM/DD/YYYY';
Transactions:
Load
date(numerical_date),
month(date(numerical_date)) as month,
id,
amount
Inline
[
numerical_date,id,amount
43254,1,1000
43255,2,2123
43256,3,4124
43258,4,2431
];
結果
データをロードしてシートを開きます。新しいテーブルを作成し、これらの項目を軸として追加します。
このメジャーを作成します。
=sum(amount)
結果テーブル
日付 |
月 |
=sum(amount) |
06/03/2022 |
Jun |
1000 |
06/04/2022 |
Jun |
2123 |
06/05/2022 |
Jun |
4124 |
06/07/2022 |
Jun |
2431 |
ロード スクリプトで、date() 関数を使用し、数字表記の日付を日付形式に変換します。関数内には 2 番目の引数として指定された形式がないため、DateFormat 形式が使用されます。このため、日付項目では形式「MM/DD/YYYY」が使用されます。
例 4 – 外国の日付形式設定
概要
データ ロード エディターを開き、以下のロード スクリプトを新しいタブに追加します。
ロード スクリプトには次が含まれています。
ロード スクリプト
// SET DateFormat='DD/MM/YYYY';
Transactions:
Load
date,
month(date) as month,
id,
amount
Inline
[
date,id,amount
22-05-2022,1,1000
23-05-2022,2,2123
24-05-2022,3,4124
25-05-2022,4,2431
];
結果
データをロードしてシートを開きます。新しいテーブルを作成し、これらの項目を軸として追加します。
このメジャーを作成します。
=sum(amount)
結果テーブル
日付 |
月 |
=sum(amount) |
22-05-2022 |
- |
1000 |
23-05-2022 |
- |
2123 |
24-05-2022 |
- |
4124 |
25-05-2022 |
- |
2431 |
最初のロード スクリプトで DateFormat に使用されるのは、デフォルトの「MM/DD/YYYY」です。トランザクション データセット内の [date] 項目がこの形式ではないため、項目は日付として解釈されません。これは、[month] 項目が null である結果テーブルに表れています。
date 項目の「タグ」プロパティを調べると、データ モデル ビューア内の解釈済みデータ型を確認できます。
これは、 DateFormat システム変数を有効にすることで解決できます。
// SET DateFormat='DD/MM/YYYY';
二重スラッシュを削除し、データをリロードします。