レッスン 2: SSIS でのループの追加
適用対象: SQL Server Azure Data Factory の SSIS Integration Runtime
「レッスン 1: SSIS によるプロジェクトと基本パッケージの作成」で、1 つのフラット ファイル ソースからデータを抽出するパッケージを作成しました。 抽出されたデータは参照変換を使用して変換されます。 最後に、パッケージによって、AdventureWorksDW2022
サンプル データベースの FactCurrencyRate ファクト テーブルのコピーにそのデータが読み込まれます。
抽出、変換、読み込み (ETL) プロセスでは通常、複数のフラット ファイル ソースからデータが抽出されます。 複数のソースからデータを抽出するには、反復型の制御フローが必要となります。 Microsoft Integration Services では、繰り返しやループをパッケージに簡単に追加できます。
Integration Services には、パッケージ全体をループさせる 2 種類のコンテナーがあります。1 つは Foreach ループ コンテナー、もう 1 つは For ループ コンテナーです。 Foreach ループ コンテナーではループに列挙子が使用されるのに対して、For ループ コンテナーでは通常、変数式が使用されます。 このレッスンでは Foreach ループ コンテナーを使用します。
パッケージで Foreach ループ コンテナーを使用すれば、指定した列挙子の各メンバーについて、制御フローを繰り返すことができます。 Foreach ループ コンテナーでは、次のものを列挙できます。
ADO レコードセット行
ADO .Net スキーマ情報
ファイル構造とディレクトリ構造
システム変数、パッケージ変数、ユーザー変数
変数の列挙可能なオブジェクト
コレクション内のアイテム
XML パス言語 (XPath) 式内のノード
SQL Server 管理オブジェクト (SMO)
このレッスンでは、Foreach ループ コンテナーを使用するようにレッスン 1 のサンプル ETL パッケージを変更し、そのパッケージにユーザー定義のパッケージ変数を設定します。 サンプル フォルダーで一致するファイルを反復処理する際、その変数が使用されます。
このレッスンでは、データ フローは変更せずに、制御フローのみを変更します。
Note
まだ行っていない場合は、レッスン 1 の前提条件を参照してください。
このレッスンの作業
このレッスンの内容は次のとおりです。