区切り記号付き可変フォーマット ファイルのフィールドの定義

この手順では、区切り記号付きファイルに対して 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. タグ間の親/子関係を変更する場合は
    1. [タグ階層の変更] をクリックします。
    2. タグをクリックしてドラッグし、変更するタグ階層を定義します。
    3. [OK] をクリックします。
  4. フィールドの名前またはデータ タイプを変更する場合は、フィールドを選択し、[変更] をクリックします。
  5. [名前] フィールドで、追加するフィールドを選択するか、フィールドの名前を入力します。

    通常は、デフォルト名をフィールド内のデータを表す意味のある名前で置き換えます。例えば、次の入力データを考えます。

    001   Joe,Smith,M,100 Main St,555-234-1290

    このレコードには親タグ 001 があり、デフォルトでは次のフィールドが作成されます。

    • NumericTag_001_Column1: Joe
    • NumericTag_001_Column2: Smith
    • NumericTag_001_Column3: M
    • NumericTag_001_Column4: 100 Main St
    • NumericTag_001_Column5: 555-234-1290

    名前がデータを説明するように、フィールド名を変更します。例:

    • FirstName: Joe
    • LastName: Smith
    • Gender: M
    • AddressLine1: 100 Main St
    • PhoneNumber: 555-234-1290
    注: リスト フィールド名は変更できません。リスト フィールドには指定されたレコード タイプのすべてのフィールドが含まれるため、フィールド名として常に入力ファイルのタグ名が使用されます。
  6. フィールドのデータ タイプを変更するには、使用するデータ タイプを [タイプ] フィールドで選択します。

    次のデータ タイプを使用できます。

    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。
  7. 日付、時間、または数値データ タイプを選択した場合は、デフォルトの日付/時間形式を使用することも、この特定のフィールド用に別の形式を指定することもできます。デフォルトの形式は、Management Console のタイプ変換オプションに設定されているシステムのデフォルトの形式であるか、Enterprise Designer のタイプ変換オプションに指定されているデータフローのデフォルトの形式です。有効な形式が表示されます。デフォルトの形式を使用するには、[デフォルト] を選択したままにします。別の形式を指定するには、[カスタム] を選択し、以下の手順に従います。
    注: 日付/時間形式は、ファイルから読み込むデータを正確に反映する形式を選択することが重要です。例えば、ファイルに含まれている日付データの形式は月/日/年であるが、選択した日付形式が日/月/年であると、データフローで実行する日付計算 (日付によるソートなど) に正確な日付が反映されません。また、レコードのタイプ変換が失敗することもあります。その場合、Management Console または Enterprise Designer のタイプ変換オプションで指定された失敗操作が有効になります。
    1. [ロケール] フィールドで、使用する形式規則のある国を選択します。[形式] フィールドのデフォルト値は、ここでの選択によって決まります。また、日付データの月のスペルを表記するときの言語も、ここでの選択によって決まります。例えば、英語を指定した場合、1 年の最初の月は "January" ですが、フランス語を指定した場合は "Janvier" になります。
    2. [形式] フィールドで、データの形式を選択します。形式は、フィールドのデータ タイプによって異なります。選択したロケールで最も一般的に使用される形式の一覧が表示されます。

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

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

  8. [OK] をクリックします。