2017-09-13 13 views
1

私が見た最もクレイジーなファイル形式で作業しています。これは固定幅で、複数のレコードタイプを含んでいます(つまり、各行は異なる列と幅を持つことがあります)。ファイルヘッダー、トレーラー、静的な数の行があり、一緒に置くと1つのレコードになります。私が抱えている問題は、ソート順と行番号属性以外の同じレコードに属していることを示す行には何もないことです。固定幅ファイルソースの複数の行を1つの行にマージする

例:

001 David   Wellingsworth Mr. 
002 312-555-5555  3060 W Maple St.   Chicago 
001 Jimothy  Bogendath  Dr. 
002 563-555-5432  123 Main St.    Davenport 

私の質問がゆえである:それは、このようなファイルを処理するために、スクリプトコンポーネントを使用せずに、可能ですか?固定幅ファイル(条件付き分割と部分文字列を使用して)で異なるレコードタイプを処理する方法の基本的な概念は理解していますが、行が分割されていない場合、識別子を持つ

私の質問は基本的にはthis previous questionですが、逆です。

答えて

1

可能ですが、何らかの作業があります。私はこれらのようなデータを使って作業しました。これは私たちがそれらをどのように解決したかというアプローチでした。

  1. あなたは、あなたのファイルが、ファイル名とユニークなファイルID
  2. にログインするために別のテーブルを作成し、それらを独自のRecordID
  3. を与えるテーブルを構築する必要がありますあなたが知っているので、レコードIDへのあなたのファイルIDをリンクどのファイルの各レコードは、この方法はあなたを与えるだろう、あなたのテーブルを構築する

それぞれ独自のレコードIDにリンクして、すべてのサブテーブルのビルド

  • から来た:

    1. 各行に固有のrecordID(ファイル内に重複している可能性もありますが、テーブル内で一意です)。
    2. 各レコードの元のファイルを知る。
  • +0

    ありがとうございました!ただし、ファイルが1つしかないことを明確にするため、同じファイル内の複数の行に分散した複数のレコードだけです。上記の例では、2つの別々のレコードがあります。 – GotDibbs

    +0

    右。その1つまたは複数のファイルが同じアプローチを取るかどうか。それぞれにSSNまたは一意のIDがないため、各レコードは独自のRecordIDを持つ必要があります。次に、それらの適格なデータに基づいてすべての同じレコードをリンクすることができます。名前、住所など。 – Isaiah3015

    +0

    各レコードには現在IDがありますが、データの最初の行にのみ表示されます。後続の行には、最初の行の後に来るという事実を超えて、最初の行にリンクされていることがわかるような属性はありません。私は後で1つのレコードにまとめることができるように、出力の各関連する行にIDを割り当てることができるように、データを最初にテーブルに取得する方法について混乱していると思います。 – GotDibbs

    関連する問題