データフローのデータ タイプ変換オプションの設定

データ タイプ変換は、データフローがフィールドを、ステージで必要なデータ タイプに自動的に変換する際に行われます。データ タイプ変換は、一部のステージ内でも行われます。例えば、Read from DB では、ソース データが数値データ タイプであっても、フィールドで文字列データ タイプを使用することができます。データは、データフローに読み込まれる際に文字列データ タイプに変換されます。

データ タイプ変換を制御するために使用できる設定が 2 つあります。1 つは、数値、日付、および時間データを書式設定して文字列に変換する方法を決定する設定です。例えば、文字列に変換される日付データを dd/mm/yyyy ではなく mm/dd/yyyy のフォーマットで表現したい場合があります。もう 1 つは、システムがあるデータ タイプのフィールドを別のデータ タイプに変換できない場合にどうするかを制御する設定です。

システムに対するデフォルトのデータ タイプ変換の設定は、Management Console で指定されています。Enterprise Designer では、デフォルト フォーマットを個別のデータフローについてオーバーライドできます。

この手順は、データフローでデフォルトのデータ タイプ変換オプションをオーバーライドする方法を示しています。

注: サブフローは、属しているデータフローからタイプ変換設定を継承します。サブフローのタイプ変換設定を指定することはできません。
  1. Enterprise Designer でデータフローを開きます。
  2. [編集] > [タイプ変換オプション] を選択します。
  3. [次の値でシステム デフォルト オプションをオーバーライド] ボックスをチェックします。
  4. [エラー ハンドリング] フィールドで、フィールドの値をステージで必要とされるデータ タイプに自動変換できない場合の対処方法を指定します。
    データフローの処理を失敗として扱う
    フィールドを変換できない場合、データフローは失敗します。
    レコードのエラー
    フィールドを変換できない場合、レコードは失敗しますが、データフローの実行は続行されます。
    フィールドをデフォルト値で初期化する
    フィールドを変換できない場合、フィールドの値はここで指定する値に置き換えられます。一部のレコードに不正なデータが含まれることがわかっていて、不正なデータをデフォルト値に置き換える場合、このオプションが役に立ちます。各データ タイプの値を指定します。
  5. 文字列に変換する日付および時間データで使用する形式を指定します。日付または時間を文字列に変換する場合、文字列にはここで指定する形式が使用されます。
    1. [ロケール] フィールドで、文字列に変換する日付で使用する形式を持つ国を選択します。[日付][時間]、および [日付/時刻] フィールドのデフォルト値は、ここでの選択によって決まります。また、月のスペルを表記するときの言語も、ここでの選択によって決まります。例えば、英語を指定した場合、1 年の最初の月は "January" ですが、フランス語を指定した場合は "Janvier" になります。
    2. [日付] フィールドで、日付データを文字列に変換するときに使用する形式を指定します。選択したロケールで最も一般的に使用される形式の一覧が表示されます。

      例えば、形式として [M/D/YY] を選択し、日付フィールドに 2012-3-2 が含まれている場合、日付データは文字列 3/2/12

    3. [時間] フィールドで、時間データを文字列に変換するときに使用する形式を指定します。選択したロケールで最も一般的に使用される形式の一覧が表示されます。

      例えば、形式として [h:mm a] を選択し、時間フィールドに 23:00 が含まれている場合、時間データは文字列 11:00 PM

    4. [日付/時刻] フィールドで、DateTime データ タイプを含むフィールドを文字列に変換するときに使用する形式を選択します。選択したロケールで最も一般的に使用される形式の一覧が表示されます。

      例えば、形式として [M/d/yy h:mm a] を選択し、DateTime フィールドに 2012-3-2 23:00 が含まれている場合、DateTime データは文字列 3/2/12 11:00 PM

    5. [整数] フィールドで、数値型 (Float および Double データ タイプ) で使用する書式設定を選択します。

      例えば、形式 [#,###] を選択すると、数字 4324 は4,324

      注: このフィールドを空白にしておくと、数字には Spectrum™ Technology Platform 8.0 以降と同じ形式が使用されます。特に、桁区切り文字は使用されません。小数点記号としてドット (".") が使用されます。10-3 未満または 107 以上の数字は指数表示されます。負の数には先頭にマイナス記号 ("-") が付きます。また、このフィールドを空白にしておくと、BigDecimal データ タイプを使用する数字には常に形式 #,###.000 が使用されます。
    6. [小数] フィールドで、Decimal (Integer および Long データ タイプ) を含む数字で使用する書式設定を選択します。

      例えば、形式 [#,##0.0#] を選択すると、数字 4324.25 は4,324.25

      注: このフィールドを空白にしておくと、数字には Spectrum™ Technology Platform 8.0 以降と同じ形式が使用されます。特に、桁区切り文字は使用されません。小数点記号としてドット (".") が使用されます。10-3 未満または 107 以上の数字は指数表示されます。負の数には先頭にマイナス記号 ("-") が付きます。また、このフィールドを空白にしておくと、BigDecimal データ タイプを使用する数字には常に形式 #,###.000 が使用されます。

    また、ニーズを満たす形式がない場合は、独自の日付、時間、および数値形式を指定することもできます。独自の日付または時間形式を指定するには、日付および時間パターン に記載される表記を使用して、その形式をフィールドに入力します。独自の数値形式を指定するには、数字パターン に記載される表記を使用して、形式をファイルに入力します。

  6. [Null の処理] で、タイプ変換が必要なフィールドに NULL 値が含まれていた場合の処理を選択します。次のいずれかのオプションを選択すると、[タイプ変換エラー][データフローの処理を失敗として扱う][レコードの処理を失敗として扱う] のどちらを選択したかに基づいて、NULL 値を含むデータフローまたはレコードがエラーを返します。
    文字列型の Null のエラー
    NULL 値を含む文字列フィールドでタイプ変換が必要な場合に、データフローまたはレコードでエラーを返します。
    Boolean 型の Null のエラー
    NULL 値を含む Boolean フィールドでタイプ変換が必要な場合に、データフローまたはレコードでエラーを返します。
    数値型の Null のエラー
    NULL 値を含む数値フィールドでタイプ変換が必要な場合に、データフローまたはレコードでエラーを返します。数値フィールドには、double、float、long、integer、および Big Decimal フィールドが含まれます。
    日付型の Null のエラー
    NULL 値を含む日付フィールドでタイプ変換が必要な場合に、データフローまたはレコードでエラーを返します。これには、date、time、および DateTime フィールドが含まれます。