# Dates プロセッサー

日付に関連する操作を実行します。

Dates プロセッサーを使用すると、日付、時刻、タイムスタンプに関連するフィールドにさまざまな関数を適用できます。利用可能な関数を使用して、日付を計算、クレンジング、変更、または変換できます。

## 使用状況

Dates プロセッサーは、1 つの入力フローを必要とし、1 つの出力フローのみを生成できます。

## プロパティ

日付に基づいて動作するように構成するプロパティ。

情報メモこのセクションにリストされているプロパティは、このプロセッサーのほとんどの関数の既定プロパティです。選択した関数によっては他のプロパティの定義が必要となる場合もあります。

設定

| Property | 構成 |
| --- | --- |
| 関数名 | <ul> <li> <p><span>タイムスタンプに変換</span>: リストから選択するか手動で指定できる形式を使用して、文字列をタイムスタンプとして解釈します。入力形式として [<span>自動</span>] を選択した場合、関数はもっとも一般的な形式セットから形式を検出しようとします。タイムスタンプとして解釈できない場合は、<span>Null</span> に設定されます。</p> </li> <li> <p><span>日付に変換</span>: リストから選択するか手動で指定できる形式を使用して、文字列を日付として解釈します。入力形式として [<span>自動</span>] を選択した場合、関数はもっとも一般的な形式セットから形式を検出しようとします。日付として解釈できない場合は、<span>Null</span> に設定されます。</p> </li> <li> <p><span>時間に変換</span>: リストから選択するか手動で指定できる形式を使用して、文字列を時間として解釈します。入力形式として [<span>自動</span>] を選択した場合、関数はもっとも一般的な形式セットから形式を検出しようとします。時間として解釈できない場合は、<span>Null</span> に設定されます。</p> </li> <li> <p><span>部分からタイムスタンプを作成</span>: 他のフィールドの数値部分または定数値を連結して新しいタイムスタンプ フィールドを作成します。</p> </li> <li> <p><span>部分から日付を作成</span>: 他のフィールドの数値部分または定数値を連結して新しい日付フィールドを作成します。</p> </li> <li> <p><span>部分から時間を作成</span>: 他のフィールドの数値部分または定数値を連結して新しい時間フィールドを作成します。</p> </li> <li> <p><span>日付の書式設定</span>: 日付フィールドで使用する日付形式を変更します。</p> </li> <li> <p><span>日付の差を計算</span>: 指定された時間部分単位について、フィールド内の日付と選択した日付の間の時間を計算します。計算は、まず日付を指定した日付または時刻の部分まで切り捨て、それらの差を整数として返します。</p> </li> <li> <p><span>期間を追加</span>: 日付に特定の時間を追加します。</p> </li> <li> <p><span>日付を比較</span>: このフィールドを別のフィールドまたは定数と比較します</p> </li> <li> <p><span>日付部分を抽出</span>: 年、月、四半期、日、時間、分、秒などのフィールドを作成します。</p> </li> <li> <p><span>日付を切り捨て</span>: 日付の一部を削除します。</p> </li> </ul> |
| [Fields to process] (処理するフィールド) | ファンクションを適用するフィールドをリストから選択します。 |
| 新しいフィールドを作成 | 関数を適用した後に新しいフィールドを作成するには、このオプションを有効にします。このオプションを有効にしない場合は、既存のフィールドが保持および変更されます。 |
| 新しいフィールドの名前を変更 | 新規作成したフィールドにカスタム名を付けます。 |

プロセッサーの名前を変更したり、その説明を変更したりするには、[プロパティ] パネルで変更する名前または説明にマウスを合わせ、[the 編集 icon ] アイコンをクリックします。

## 日付の操作方法に関する追加情報

一般的に日付と呼ばれる日付関連の形式には、次の 3 つがあります。

* 時間 (1 日の時間を表します)

* 日付 (特定の日を示します)

* タイムスタンプ (日付と時間から作成されます)

日付は、ほとんどの場合データ フロー内で自動的に識別されます。ただし、次の場合には、 Convert to 関数のいずれかを使用して、日付をシステムに適切に導入する必要があります。

* 日付が自動的に識別できない形式でフォーマットされている。

* データ フローを作成したユーザーのローカライゼーションに基づいて、データ フローと同じ日付形式で配置する必要がある。

* 特定の形式で設定されていることを確認する必要がある。そうでない場合、認識されない日付形式は Null に設定されます。

## 制限事項

* 場合によっては、エンジンの制限により日付形式が機能しないことがあります。この制限は、Format 関数と Convert to 関数にあてはまります。これは、元の入力フィールドを更新するときにのみ発生し、新しいフィールドが作成されるときには発生しません。

* Excel などのネイティブに日付をサポートする形式から日付をロードする場合、エンジンの制限により日付形式を設定できないことがあります。

## 事前定義された日付形式

この表には、データ フローで事前定義されているさまざまな形式が一覧表示されていますが、手動で入力する場合は他の形式もサポートされます。手動で定義された形式の詳細については、「[数値や日付形式の説明](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/Introduction/conventions-number-time-formats.htm#anchor-3)」を参照してください。

| 形式 | タイプ | 例 |
| --- | --- | --- |
| YYYY-MM-DD | 日付 | 1999-03-22 |
| YYYYMMDD | 日付 | 19990322 |
| M/D/YYYY | 日付 | 3/22/1999 |
| M/D/YY | 日付 | 3/22/99 |
| MM/DD/YY | 日付 | 03/22/99 |
| MMM D、YYYY | 日付 | Mar 22, 1999 |
| MMMM D、YYYY | 日付 | March 22, 1999 |
| YYYY-MM-DD hh:mm | タイムスタンプ | 1999-03-22 05:06 |
| YYYY-MM-DD hh:mm:ss | タイムスタンプ | 1999-03-22 05:06:07 |
| YYYY-MM-DDThh:mm | タイムスタンプ | 1999-03-22T05:06 |
| YYYY-MM-DDThh:mm:ss | タイムスタンプ | 1999-03-22T05:06:07 |
| M/D/YYYY hh:mm tt | タイムスタンプ | 3/22/1999 05:06 AM |
| M/D/YY hh:mm tt | タイムスタンプ | 3/22/99 05:06 AM |
| MM/DD/YY hh:mm tt | タイムスタンプ | 03/22/99 05:06 AM |
| M/D/YYYY hh:mm:ss tt | タイムスタンプ | 3/22/1999 05:06:07 AM |
| M/D/YY hh:mm:ss tt | タイムスタンプ | 3/22/99 05:06:07 AM |
| MM/DD/YY HH:mm:ss tt | タイムスタンプ | 03/22/99 05:06:07 AM |
| MMM D, YYYY h:mm:ss tt | タイムスタンプ | Mar 22, 1999 5:06:07 AM |
| WWWW, MMMM D, YYYY h:mm:ss tt | タイムスタンプ | Monday, March 22, 1999 5:06:07 AM |
| hh:mm | Time | 05:06 |
| hh:mm:ss | Time | 05:06:07 |
| hh:mm tt | Time | 05:06 AM |
| hh:mm:ss tt | Time | 05:06:07 AM |

## 例: 日付の変換と操作

このシナリオでは、見込み客に関する情報を含むデータセットを準備し、どの見込み客が顧客になる可能性があるかを特定することを目的として ML 実験をトレーニングする方法を示します。利用可能な情報の中には、FirstContactDate や TrialDate など、日付を含むフィールドがいくつかあります。

![日付を含む、見込み客に関する情報を含むデータセット](https://help.qlik.com/ja-JP/cloud-services/Subsystems/Hub/Content/Resources/Images/Dataflow/dates_convert_example_1.png)

最初のステップは、2 つの日付フィールドが共通の形式を使用していることを確認することです。FirstContactDate および TrialDateフィールドに Convert to date 関数を使用して、最初の Dates プロセッサーを使用します。2 つのフィールドは同じ D/MM/YYYY 形式を使用するようになりました。

2 番目の Dates プロセッサーで、 [日付の差を計算] を使用して、最初の問い合わせからトライアル開始までの日数を表示します。

その後、Fork プロセッサーを使用して結果データから最初の出力が生成され、2 番目のブランチでは 3 番目の Dates プロセッサーが使用されます。日付部分を抽出の関数を使用すると、FirstContactDate フィールドの年と月の情報のみを保持できるため、将来の ML 実験で読み取りや操作が容易になります。

集計操作の後、データ フローを実行してモデルをトレーニングできます。最終的なデータ フローは次のようになります。

![日付が適切にフォーマットされたデータ フロー](https://help.qlik.com/ja-JP/cloud-services/Subsystems/Hub/Content/Resources/Images/Dataflow/dates_convert_example_2.png)

## 例: 日付の差を計算する

この例でソースとして使用されるデータには、注文日と発送日を含む注文の参照が含まれています。

![注文と発送日を含むデータセット](https://help.qlik.com/ja-JP/cloud-services/Subsystems/Hub/Content/Resources/Images/Dataflow/dates_example_1.png)

注文の発送に必要な時間を知るために、Dates プロセッサーを使用して注文から発送までの時間を計算できます。

プロセッサーのプロパティで、関数として [Calculate date difference (日付の差を計算)]、時間単位として [Day (日)] を選択します。処理するフィールドとして [Order Date (注文日)] を選択し、時間差を計算する他のフィールドとして [Ship Date (発送日)] を選択します。作成する新しいフィールドの名前を入力し、ターゲットを設定してデータ フローを実行します。

![時間差を計算する日付プロセッサー](https://help.qlik.com/ja-JP/cloud-services/Subsystems/Hub/Content/Resources/Images/Dataflow/dates_example_2.png)

このデータ フローのターゲットには、分析に使用できる注文の発送にかかった日数を示す新しい列が含まれます。

## ビデオ サマリー

[ビデオクリップを見る](https://play.vidyard.com/K6R24fJuZAvLCrnNPmRrkW)