# Date スクリプトおよびチャート関数

Date() は、データ ロード スクリプトのシステム変数またはオペレーティング システムの書式設定、または提供されている場合は書式文字列を使用して、数式を日付として書式設定します。

構文:

Date(number[, format])

戻り値データ型： デュアル

引数

| 引数 | 説明 |
| --- | --- |
| number | 書式設定する数値。 |
| format | 結果文字列の形式を説明する文字列。書式文字列が指定されていない場合は、データ ロード スクリプトまたはオペレーティング システムのシステム変数で設定された日付形式が使用されます。<br><br>`Date` 関数は、さまざまな日付構造に対して多くの形式オプションをサポートしています。次に例を示します。<br><br>​`DD/MM/YYYY`: ​日/月/年 (例: 15/02/2022)<br><br>​`MM-DD-YYYY`: ​ハイフン付きの月-日-年 (例: 02-15-2022)<br><br>​`YYYY-MM-DD`: ​年-月-日、ISO フォーマット (例: 2022-02-15)<br><br>​`D-MMM-YYYY`: ​ハイフン付きの日、省略した月名、年 (例: 15-Feb-2022)<br><br>`​MMMM YYYY`: ​正式な月名と年 (例: February 2022)<br><br>​`MM/YYYY`: ​月と年 (例: 02/2022)<br><br>​`DD MMMM YYYY`: ​日、正式な月名、年 (例: 15 February 2022) |

例: チャートの数式

| 例 | 結果 |
| --- | --- |
| `Date( 35648 )` | `DateFormat` の設定が `YY-MM-DD` の場合、`97-08-06` を返します。 |
| `Date( 35648, 'YY.MM.DD' )` | `DateFormat` の設定が `YY-MM-DD` の場合、`97.08.06` を返します。 |
| `Date( '8/6/97', 'YY.MM.DD' )` | `DateFormat` の設定が `YY-MM-DD` の場合、`NULL` を返します。 |

## 例 - Date の基本

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/FormattingFunctions/Date.htm)

#### チャートの数式

概要

データ ロード エディターを開き、以下のロード スクリプトを新しいセクションに追加します。

ロード スクリプトには次が含まれています:

* 「`Example`」というデータ テーブルにロードされるデータセット。

* データ テーブル内の次の項目:

  * `RowNo`
  * `InputDate`

* `YY-MM-DD` 形式を使用する `DateFormat` 変数。

ロード スクリプト

```
SET DateFormat='YY-MM-DD';
Example:
Load * inline [
RowNo, InputDate
1, 35648
2, 35648.375
3, 8/6/97
];
```

結果

データをロードしてシートを開きます。新しいテーブルを作成し、これらの項目を軸として追加します:

* ` RowNo
                                       `

* `InputDate`

次のメジャーを作成します:

* `=Date(InputDate)`、`DateFormat` 変数設定を使用してフォーマットされた日付として値を表示します。

* `=Date(InputDate, 'DD.MM.YYYY')`、関数で指定された形式を使用してフォーマットされた日付として値を表示します。

* `=Date(InputDate, 'YY.MM.DD')`、関数で指定された形式を使用してフォーマットされた日付として値を表示します。

* `=Num(InputDate)`、日付の数値を返します。

Results table

| RowNo | InputDate | Date(InputDate) | Date(InputDate, 'DD.MM.YYYY') | Date(InputDate, 'YY.MM.DD') | Num(InputDate) |
| --- | --- | --- | --- | --- | --- |
| 1 | 35648 | 97-08-06 | 06.08.1997 | 97.08.06 | 35648 |
| 2 | 35648.375 | 97-08-06 | 06.08.1997 | 97.08.06 | 35648.375 |
| 3 | 8/6/97 | - | - | - | - |

結果は、`Date` 関数を使用して日付を表示および書式設定する方法を示しています。この例では、ロード スクリプトで `DateFormat` が `YY-MM-DD` として設定されています。システムは、日付の表現にこの形式を使用することを期待しています。行 3 (`8/6/97`) の `InputDate` の値はこの形式に従っていないため、システムはこれを日付として認識せず、`NULL` を返すことがわかります。

ロード スクリプトの `DateFormat` 設定を `SET DateFormat='M/D/YY';` に変更し、データを再ロードします。行 3 の値は、期待される形式と一致するようになります。システムはそれを有効な日付として認識し、それに従ってフォーマットします。次の表は、新しい `DateFormat` 設定の結果を示しています。

Results table with variable statement `Set DateFormat='M/D/YY'`Set DateFormat='M/D/YY'

| RowNo | InputDate | Date(InputDate) | Date(InputDate, 'DD.MM.YYYY') | Date(InputDate, 'YY.MM.DD') | Num(InputDate) |
| --- | --- | --- | --- | --- | --- |
| 1 | 35648 | 97-08-06 | 06.08.1997 | 97.08.06 | 35648 |
| 2 | 35648.375 | 97-08-06 | 06.08.1997 | 97.08.06 | 35648.375 |
| 3 | 35648 | 97-08-06 | 06.08.1997 | 97.08.06 | 35648.375 |

## 例 - Date のシナリオ

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/FormattingFunctions/Date.htm)

#### チャートの数式

概要

データセットには、日付形式 `MM-DD-YYYY` を使用する販売データが含まれています。日付形式には `DD/MM/YYYY` を使用します。

データ ロード エディターを開き、以下のロード スクリプトを新しいセクションに追加します。

ロード スクリプトには次が含まれています:

* 「`Example`」というデータ テーブルにロードされるデータセット。

* データ テーブル内の次の項目:

  * `Customer`
  * `SalesDate`
  * `Amount`

* `MM/DD/YYYY` 形式を使用する `DateFormat` 変数。

ロード スクリプト

```
SET DateFormat='MM/DD/YYYY';
Example:
Load * inline [
Customer, SalesDate, Amount
Customer A, 2/15/2024, 100008
Customer B, 9/30/2024, 12500
Customer C, 12/28/2024, 15000
];
```

結果

データをロードしてシートを開きます。新しいテーブルを作成し、この項目を軸として追加します:

* ` Customer
                                       `

次のメジャーを作成します:

* `=Date(SalesDate ,'DD/MM/YYYY')` で、関数で指定された形式を使用してフォーマットされた日付として値を表示します。

* `=Sum(Amount)` で、売上コストの合計値を計算します。

Results table

| Customer | Date(SalesDate ,'DD/MM/YYYY') | Sum(Amount) |
| --- | --- | --- |
| Customer A | 15/02/2024 | 100008 |
| Customer B | 30/09/2024 | 12500 |
| Customer C | 28/12/2024 | 15000 |

結果を見ると、データセット内の日付には 1 つの形式が使用されていますが、`Date` 関数を使用するとこれらの日付を別の形式で表示できることがわかります。