レッスン 1: プロジェクトと基本パッケージの作成では、単一のフラット ファイル ソースからデータを抽出し、ルックアップ変換を使用してデータを変換し、最後に AdventureWorksDW2012 サンプル データベースの FactCurrency ファクト テーブルにデータを読み込むパッケージを作成しました。
ただし、抽出、変換、読み込み (ETL) プロセスで 1 つのフラット ファイルを使用することはまれです。 一般的な ETL プロセスでは、複数のフラット ファイル ソースからデータが抽出されます。 複数のソースからデータを抽出するには、反復型の制御フローが必要となります。 Microsoft Integration Services の最も期待される機能の 1 つは、パッケージにイテレーションまたはループを簡単に追加できることです。
Integration Services には、パッケージ全体をループさせる 2 種類のコンテナーがあります。1 つは Foreach ループ コンテナー、もう 1 つは For ループ コンテナーです。 Foreach ループ コンテナーでは列挙子を使用してループを実行しますが、For ループ コンテナーでは通常、変数式が使用されます。 このレッスンでは Foreach ループ コンテナーを使用します。
パッケージで Foreach ループ コンテナーを使用すれば、指定した列挙子の各メンバーについて、制御フローを繰り返すことができます。 Foreach ループ コンテナーでは、次のものを列挙できます。
ADO レコードセット行
ADO .Net スキーマ情報
ファイル構造とディレクトリ構造
システム変数、パッケージ変数、およびユーザー変数
変数に含まれる列挙可能なオブジェクト
コレクション内のアイテム
XML パス言語 (XPath) 式内のノード
SQL Server 管理オブジェクト (SMO)
このレッスンでは、レッスン 1 で作成した単純な ETL パッケージを変更して、Foreach ループ コンテナーを利用します。 また、ユーザー定義パッケージ変数を設定して、チュートリアル パッケージがフォルダー内のすべてのフラット ファイルを反復処理できるようにします。 前のレッスンを完了していない場合は、チュートリアルに含まれている完成したレッスン 1 パッケージをコピーすることもできます。
このレッスンでは、データ フローを変更せず、制御フローのみを変更します。
重要
このチュートリアルでは、 AdventureWorksDW2012 サンプル データベースが必要です。 AdventureWorksDW2012 をインストールして展開する方法の詳細については、CodePlex の Reporting Services 製品サンプルを参照してください。
このレッスンの作業
このレッスンの内容は次のとおりです。