次の方法で共有


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

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

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

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

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

  • ADO レコードセット行とスキーマ情報
  • ファイル構造とディレクトリ構造
  • システム変数、パッケージ変数、ユーザー変数
  • SQL Server 管理オブジェクト (SMO)

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

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

ms166566.note(ja-jp,SQL.90).gif重要 :
このチュートリアルを行うには AdventureWorksDW サンプル データベースが必要です。AdventureWorksDW をインストール、配置する方法の詳細については、「セットアップの実行による AdventureWorks のサンプル データベースとサンプルのインストール」を参照してください。

このレッスンの作業

このレッスンの内容は次のとおりです。

レッスンの開始

レッスン 1 で作成したパッケージのコピー

参照

その他の技術情報

For ループ コンテナ

ヘルプおよび情報

SQL Server 2005 の参考資料の入手