レッスン 2 : ループの追加

レッスン 1 (SSIS チュートリアル): プロジェクトと基本パッケージの作成」では、単一のフラット ファイル ソースからデータを抽出するパッケージを作成し、参照変換を使用してデータを変換しました。さらに、変換したデータを、AdventureWorksDW サンプル データベースの FactCurrencyRate ファクト テーブルに読み込みました。

しかし、抽出、変換、読み込み (ETL) プロセスでフラット ファイルを 1 つだけ使用することはほとんどありません。通常の ETL プロセスでは、複数のフラット ファイル ソースからデータを抽出します。複数のソースからデータを抽出するには、反復型の制御フローが必要となります。MicrosoftIntegration Services では、反復やループをパッケージへ簡単に追加できるようになりました。

Integration Services には、パッケージ全体をループさせる 2 種類のコンテナがあります。1 つは Foreach ループ コンテナ、もう 1 つは For ループ コンテナです。Foreach ループ コンテナは列挙子を使用してループを実行し、For ループ コンテナは、通常、変数式を使用します。このレッスンでは Foreach ループ コンテナを使用します。

パッケージで Foreach ループ コンテナを使用すれば、指定した列挙子の各メンバについて、制御フローを繰り返すことができます。Foreach ループ コンテナでは、次のものを列挙できます。

  • ADO レコードセット行とスキーマ情報

  • ファイル構造とディレクトリ構造

  • システム変数、パッケージ変数、ユーザー変数

  • SQL Server 管理オブジェクト (SMO)

このレッスンでは、レッスン 1 で作成した単純な ETL パッケージを修正し、Foreach ループ コンテナの機能を活用します。また、ユーザー定義のパッケージ変数を設定し、フォルダ内のすべてのフラット ファイルに対し、チュートリアル パッケージが反復処理を実行できるようにします。前のレッスンを完了していない場合は、チュートリアルに含まれている、レッスン 1 を完了した状態のパッケージをコピーすることもできます。

このレッスンでは、データ フローは変更せずに、制御フローのみを変更します。

重要な注意事項重要

このチュートリアルを行うには AdventureWorksDW サンプル データベースが必要です。AdventureWorksDW をインストール、配置する方法の詳細については、「SQL Server のサンプルとサンプル データベースのインストールに関する注意点」を参照してください。

関連項目

概念