行順次ファイルまたは固定長可変フォーマット ファイルのフィールドの定義

この手順では、行順次ファイルまたは固定長ファイルに対して Read from Variable Format File ステージでフィールドを定義する方法について説明します。

  1. Read from Variable Format File ステージで、[フィールド] タブをクリックします。
  2. [タグの取得] をクリックします。

    レコード タイプごとに、すべてのフィールドの一覧が表示されます。フィールドごとに、以下の情報が表示されます。

    フィールドを表示するレコード タイプを示す、入力ファイルのタグ。タグが数字で始まる場合、タグには "NumericTag_" という接頭辞が付きます。例えば、100 というタグは NumericTag_100 になります。データフロー フィールド名の先頭を数字にすることはできないため、接頭辞が必要です。
    フィールド
    データフローでフィールドのために使われる名前。デフォルトでは、フィールド名の形式は <タグ名>_<列番号> です。例えば、レコード タイプが Owner である最初のフィールドは Owner_Column1、2 番目のフィールドは Owner_Column2 となります。
    タイプ
    フィールドのデータ タイプ。
    注: 最初の 50 個のレコードがフィールド一覧の生成に使用されます。フィールド一覧を生成するため、入力ファイルには少なくとも 2 つのルート タグを含める必要があります。
  3. [フィルタ] フィールドで、フィールドを定義するレコード タイプのタグを選択し、[追加] をクリックします。
    注: フィルタを設定しても、どのフィールドがデータフローに読み込まれるかには影響しません。参照のしやすさを考慮してフィールドの一覧をフィルタリングするだけです。
  4. [名前] フィールドで、追加するフィールドを選択するか、フィールドの名前を入力します。
  5. [タイプ] フィールドで、データに対して数学的または日時に関する操作を行う予定がない場合は、データ タイプをstring のままにしておくことができます。ただし、そのような操作を行う予定がある場合は、適切なデータ タイプを選択します。ファイルに含まれる文字列データは、データフローでの適切なデータ操作を可能にするデータ タイプに変換されます。

    Spectrum™ Technology Platformでは、以下のデータ タイプがサポートされています。

    bigdecimal
    小数点以下 38 桁の精度をサポートする数値データ タイプ。高い精度が必要な算術計算で使用されるデータ (特に金融データ) には、このデータ タイプを使用してください。bigdecimal データ タイプは、double データ タイプより正確な計算をサポートします。
    boolean
    true と false の 2 つの値を持つ論理タイプ。
    bytearray
    バイトの配列 (リスト)。
    注: bytearray は REST サービスの入力としてはサポートされていません。
    date
    月、日、年を含むデータ タイプ。例: 2012-01-30、January 30, 2012。デフォルトの日付の形式は Management Console で指定できます。
    datetime
    月、日、年、時、分、秒を含むデータ タイプ。例: 2012/01/30 6:15 PM。
    double
    正と負の倍精度数を含む数値データ タイプ。値の範囲は、2-1074 ~ (2-2-52)×21023。指数表記すると、値の範囲は、-1.79769313486232E+308 ~ 1.79769313486232E+308 となります。
    float
    正と負の単精度数を含む数値データ タイプ。値の範囲は、2-149 ~ (2-223)×2127。指数表記すると、値の範囲は、-3.402823E+38 ~ 3.402823E+38 となります。
    integer
    正と負の整数を含む数値データ タイプ。値の範囲は、-231 (-2,147,483,648) ~ 231-1 (2,147,483,647)。
    list
    厳密に言えば、リストはデータ タイプではありません。しかし、フィールドが階層データを含む場合、"リスト" フィールドとして扱われます。Spectrum™ Technology Platform では、リストは複数の値で構成されるデータのコレクションです。例えば、Names フィールドには名前の値のリストを含めることができます。これは、XML 構造では次のように表すことができます。
    <Names>
        <Name>John Smith</Name>
        <Name>Ann Fowler</Name>
    </Names>
    XML のリスト データ タイプが複数の値で構成される単純データ タイプであるのに対し、Spectrum™ Technology Platform のリスト データ タイプは XML の複合データ タイプに似ているという点で、Spectrum™ Technology Platform のリスト データ タイプは XML スキーマのリスト データ タイプと異なることに注意してください。
    long
    正と負の整数を含む数値データ タイプ。値の範囲は、-263 (-9,223,372,036,854,775,808) ~ 263-1 (9,223,372,036,854,775,807)。
    string
    文字シーケンス。
    time
    時刻を含むデータ タイプ。例: 21:15:59 or 9:15:59 PM。
  6. 日付、時間、または数値データ タイプを選択した場合は、デフォルトの日付/時間形式を使用することも、この特定のフィールド用に別の形式を指定することもできます。デフォルトの形式は、Management Console のタイプ変換オプションに設定されているシステムのデフォルトの形式であるか、Enterprise Designer のタイプ変換オプションに指定されているデータフローのデフォルトの形式です。有効な形式が表示されます。デフォルトの形式を使用するには、[デフォルト] を選択したままにします。別の形式を指定するには、[カスタム] を選択し、以下の手順に従います。
    注: 日付/時間形式は、ファイルから読み込むデータを正確に反映する形式を選択することが重要です。例えば、ファイルに含まれている日付データの形式は月/日/年であるが、選択した日付形式が日/月/年であると、データフローで実行する日付計算 (日付によるソートなど) に正確な日付が反映されません。また、レコードのタイプ変換が失敗することもあります。その場合、Management Console または Enterprise Designer のタイプ変換オプションで指定された失敗操作が有効になります。
    1. [ロケール] フィールドで、使用する形式規則のある国を選択します。[形式] フィールドのデフォルト値は、ここでの選択によって決まります。また、日付データの月のスペルを表記するときの言語も、ここでの選択によって決まります。例えば、英語を指定した場合、1 年の最初の月は "January" ですが、フランス語を指定した場合は "Janvier" になります。
    2. [形式] フィールドで、データの形式を選択します。形式は、フィールドのデータ タイプによって異なります。選択したロケールで最も一般的に使用される形式の一覧が表示されます。

      選択した形式の例が [形式] フィールドの右側に表示されます。

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

  7. [開始位置] フィールドで、フィールドの最初の文字の位置を入力し、[長さ] フィールドで、フィールド内の文字数を入力します。

    例えば、フィールドがレコードの 10 文字目から始まり、長さが 5 文字の場合は、開始位置 10 と長さ 5 を指定します。

  8. [追加] をクリックします。
  9. このプロセスを繰り返して、その他のフィールドをレコード タイプに追加します。あるいは、フィールドの追加が終了したら、[閉じる] をクリックします。