1行に1レコードという構文のフラットファイルを処理する必要があります。SSIS - さまざまなデータを含むフラットファイルを処理する
<header>|<datagroup_1>|...|<datagroup_n>|[CR][LF]
ヘッダーには決して変更されない固定長フィールド形式(ID、タイムスタンプなど)があります。ただし、データ・グループにはさまざまなタイプがあり、固定長であってもそのフィールドの数はデータ・グループのタイプによって異なります。データグループの最初の3つの数字はそのタイプを定義します。各レコードのデータグループの数も変化します。
私の考えは、すべてのデータグループを挿入するステージングテーブルを持つことです。したがって、このような2つのレコード
12320160101|12323456KKSD3467|456SSGFED43520160101173802|
98720160102|456GGLWSD45960160108854802|
ステージングテーブルには3つのレコードが生成されます。
ID Timestamp Data
123 01/01/2016 12323456KKSD3467
123 01/01/2016 456SSGFED43520160101173802
987 02/01/2016 456GGLWSD45960160108854802
これは、(いくつかは、いくつかは、彼らのデータをさらに細分している、廃棄される)、さらに処理するための前処理段階的な記録を私にできるようになります。私の質問は、ステージングテーブルにフラットファイルを分解する方法です。レコード全体をパイプ(|)で分割し、派生列変換を使用してヘッダーをSUBSTRINGで分割することができます。その後、データグループの数が変化するため、処理が煩雑になります。