シナリオは次のとおりです。私はSSISの処女ですが、それで遊び始める言い訳を見つけました。次の形式の単一のExcelソースデータセットがあり、各行は1か月(月の最終日)を表します。
[Date] [Value]
4/30/2008 3.38
5/31/2008 3.65
6/30/2008 3.97
...
宛先は、その月の各日の行があるテーブルです。ここで、[値]列は、Excelドキュメントの値を入力する必要がある空の列です。
[Date] [Value] [Other columns with distinct data]
4/01/2008 NULL .....
4/01/2008 NULL
4/01/2008 NULL
4/02/2008 NULL
4/02/2008 NULL
4/02/2008 NULL
4/03/2008 NULL
4/03/2008 NULL
4/03/2008 NULL
...
前のテーブルが次のようになるように、宛先テーブルの対応する月の値の各日のExcelドキュメントの各月の単一の値をコピーする必要があります。
[Date] [Value]
4/01/2008 3.38
4/01/2008 3.38
4/01/2008 3.38
4/02/2008 3.38
4/02/2008 3.38
4/02/2008 3.38
4/03/2008 3.38
4/03/2008 3.38
4/03/2008 3.38
...
「なぜ行間で値を複製したいのか」と思うかもしれませんが、これはデータの埋め戻しにすぎません。将来のエントリは、それらをまとめて保存するWebアプリケーションを使用して作成されますが、個々の日のエントリは微調整または編集できます。手動で。
だから、私の質問は、SSISパッケージのExcelソースとSQLServerデスティネーションの間にあるコンポーネントは何でしょうか?私は何を達成する必要があるかを知っています:
- 宛先データセットの各日付について、Excelソースで一致する月を[日付]列で検索し、対応する値を見つけたいと思います。
- 次に、Excelの値をSQLServerの宛先の[値]列に挿入する必要があります。
- そして繰り返します...
これはSSISを使用する価値があるように思われますか?これは1回限りのギグですが、私が言ったように、これはSSISに手を出す良い機会になると思いました。それまでの間、Excelで簡単なマクロをまとめて、いくつかのUPDATEステートメントを生成します。
ありがとう!