自然キーとペアになった代理キーを含む代理キー マッピング テーブルの値に基づいて、データ ウェアハウス ステージング テーブルの列を更新するために使用したい SSIS パッケージがあります。具体的には、次の SQL と同じ方法で、キャッシュ ルックアップを使用してファクト ステージング テーブルを更新し、在庫ディメンションの代理キーを含めたいと考えています。
UPDATE A
SET A.DWHSurrogateKey = B.DWHSurrogateKey
FROM SaleStagingTable A INNER JOIN inventoryStagingTable on B.OLTPInventoryKey = A.OLTPInventoryKey
残念ながら、ルックアップ変換から変換先へのデータ フローの性質上、一致した既存の行を更新するのではなく、まったく新しい行が作成されます。これを行うために SSIS を操作することは可能ですか?
いくつかの制約:
- 私の宛先は ADO .NET 宛先であり、OLE DB 宛先またはソースを使用できません (名前付きパラメーターを使用できるようにする必要があり、OLE DB 接続ではそれを行うことができません)。
- 複数のディメンションをファクト テーブルにリンクするには、これを行う必要があるため、マッピングされたデータを毎回新しいテーブルにプッシュすることはできません。
これらの人が提案したことを実行できるようにしたいのですが、OLE DB ではなく ADO コネクタを使用します。
http://redsouljaz.wordpress.com/2009/11/30/ssis-update-data-from-different-table-if-data-is-null/
http://www.rad.pasfu.com/index.php?/archives/46-SSIS-Upsert-With-Lookup-Transform.html