2017-02-01 10 views
0

複数のExcelの列のデータを1つの列に結合しようとしていますが、ファイルを受け取るたびに手動で繰り返しコピーアンドペーストすることは避けたいと考えています。SSIS列結合

データはこのフォーマットで来る:

最終目標は、自分自身で列内のすべての日付を持っているし、次にロードするそれぞれの日付に列のすべての値を持つことである
C1 C2  C3  Date1 Date2 Date3 ... DateN 
text text2 text3 ### ### ###  ### 
text text2 text3 ### ### ###  ### 

次のようなMSSテーブル:

C1 C2  C3  Results Date 
text text2 text3 ###  Date1 
text text2 text3 ###  Date1 
text text2 text3 ###  Date2 
text text2 text3 ###  Date2 
text text2 text3 ###  Date3 
text text2 text3 ###  Date3 

これまで、私はこれを自動化するために何ができるかについて空白を描いています。

答えて

3

SSIS Unpivot Transformationを使用できます。それはあなたが必要とするものを正確に行います。 SSISパッケージを設計して実行する前に、の日付列の唯一の注意点を修正する必要があります。組み込みの変換でSSISの動的な列数を処理することはできません。

+0

これはかなり有望です。列の数を考慮に入れるか、数量を事前に見つけることができるスクリプトコンポーネントを作成する方法があるかどうかは分かりますか? – Bigby

+0

@Bigby、それが基礎です。 SSISは、**実行する前に**列名、書式などを含むパッケージデータレイアウト(メタデータ)を知り、設定する必要があります。さらに、SSISは、パッケージ開始時にメタデータと実際の状況の一致を検証し、一致しない場合はエラーを発生させます。 可変数のカラムを本当に処理したい場合は、 'select * from ...'ステートメントでテーブルからデータを取得し、Object変数に入れてスクリプトタスクで処理します。 – Ferdipux