数値を日付に変換

「数値を日付に変換」プロセッサは、実際に日付の値を表している数値または番号配列の値を正式な日付型または日付配列型にそれぞれ変換します。

日付は、データベースに数値として内部的に格納され、指定された基準日/時間からの単位数(日、秒またはミリ秒)としてカウントされることがよくあります。

これらの値を日付値または日付/時間値として書式設定する場合、大半は数値を取得して日付として表示する関数を使用して処理されます。

ソース・データベースからのデータの抽出方法によっては、これらの日付値は数値として取得されます。EDQにデータベース抽出のアクセス権限のみが付与され、ソース・データベースについては付与されていない場合、値は数値としてスナップショットされることになります。その後、日付を正しく処理するには、数値を標準の日付書式に変換する必要があります。

したがって、「数値を日付に変換」プロセッサは、構成された基準日といくつかの単位を使用して、数値から日付値を計算します。

次の表に、構成オプションを示します。

構成 説明

入力

日付型または日付配列型に変換する1つ以上の数値または番号配列属性を指定します。文字列属性および日付属性は有効な入力ではありません。

複数の属性が変換のために送信されたが、そのうち1つが失敗した場合、レコード全体に失敗のマークが付きますが、有効な属性は正しく変換されます。

オプション

次のオプションを指定します。

  • 基準日: 日付値を計算するために、数値を指定の単位で算出する基準日を設定します。日付で指定します。デフォルト値: 31-Dec-1899 00:00:00

  • Excelデータから変換: Microsoft Excelスプレッドシートから日付を表す数値を変換する場合に使用します。これにより、1900年をうるう年と誤るMicrosoft Excelの既知の問題が解決します。

    Microsoft Excelからの数値を処理する場合は、このオプションを「はい」に設定していないと、1900年およびそれ以降の日付を表す値は誤って変換されます。この問題の詳細は、Microsoftのサポート記事を参照してください。

    Specified as 「はい」/「いいえ」で指定します。デフォルト値は「いいえ」です。

  • 入力日付書式: 数値から日付を計算するために「基準日」と組み合せて使用する単位を設定します。選択して指定します(# of days/seconds/milliseconds from Base Date)。デフォルト値: 基準日からの日数

  • Nullを成功として処理: 必須でない属性の場合、Nullの入力値を正常な変換として処理(Nullの出力値を出力する)かどうかを設定します。Specified as 「はい」/「いいえ」で指定します。デフォルト値は「はい」です。

  • タイム・ゾーン: 数値を日付値に変換する際に使用するタイム・ゾーンを設定します。タイム・ゾーンとして指定します。デフォルト値は、ディレクタのタイム・ゾーンです。

出力

データ属性またはフラグ属性の出力を記述します。

データ属性

次のデータ属性が出力されます。

  • [Attribute Name].NumberToDate: 数値から日付への変換結果を格納します。値は、指定の構成を使用して入力数値から計算された日付値です。

フラグ

次のフラグが出力されます。

  • NumberToDateSuccess: 各レコードの数値から日付への変換が成功したかどうかを示すフラグです。使用可能な値: Y/N

次の表に、このプロファイラによって生成される統計情報を示します。

統計 説明

成功

数値から日付への変換が成功した(つまり、日付が計算された)レコードの数。

失敗

数値から日付への変換が失敗した(つまり、日付を計算できなかった)レコードの数。

出力フィルタ

次の出力フィルタを使用できます。

  • 変換が成功したレコード

  • 変換が失敗したレコード

この例では、日付値がExcelスプレッドシートに間違って数値として書式設定されています。EDQユーザーが保持するスプレッドシートへの権限は読取り専用アクセスで、書式を変更できないため、このプロセッサとデフォルトの構成を使用して数値を日付に変換します。

DateOfBirth DateOfBirth.NumberToDate

18639

11-Jan-1951 00:00:00

19003

10-Jan-1952 00:00:00

17126

20-Nov-1946 00:00:00

28885

30-Jan-1979 00:00:00

{28885}{24800}

{30-Jan-1979 00:00:00}{24-Nov-1967 00:00:00}