固定長データ (「定位置」データ) について

固定長データ (定位置データ) は、各レコードの長さが決められた、シンプルなレコード・コレクションです。例えば、図 1 にあるように、lastName フィールドには、1 桁から 16 桁までの文字位置に入る文字列を含むことができます。

図 1. 定位置データ (固定長データ) の例。限定された数のセルまたはボックスが各カテゴリー (この例では、lastName、firstName、customerID) に割り振られています。
図 1 にあるとおり、以下のフィールドの間では、それぞれの文字列を区切るための区切り文字が使用されていません。

この例では、最初のレコードと 2 番目のレコードのデータを区切るための行末の区切り文字が使用されています。定位置データと区切り文字で区切られたデータを混合する場合は、フラット・ファイル・スキーマを定義できます。

データを省略すると、後続のフィールドの位置が変わってしまうため、レコード内のすべてのデータが必要です。データがない場合は、以下の図の nickname フィールドと age フィールドのように、フィールドの長さに合わせてスペースまたはゼロを埋め込みます。

図 2. スペースまたはゼロの埋め込み

前の図の 2 行目のデータでは、nickname フィールドで名前が指定されていません。代わりに、ニックネームが無い部分にスペースが埋め込まれています。その結果、Halden というストリングがラストネームとして正しく解析されるようになっています。さらに、age フィールドは 3 文字の長さになっていますが、12 歳、91 歳という年齢は 2 文字の長さなので、それぞれの年齢の先頭にゼロが追加されています。

フィールドとレコードを反復して使用することもできます。ただし、反復の数を Studio で事前定義しておく必要があり、各レコードで同じ数のフィールドを使用する必要があります。例えば、nickname フィールドの出現回数を 2 回と指定した場合は、以下の図にあるように、各レコードのそのフィールドで 2 つのニックネームを指定する必要があります。ニックネームがない場合は、スペースを埋め込む必要があります。

図 3. スペースでの埋め込み

定位置データの解析の一例として、『定位置および区切りの混合の例』の originNode を参照してください。