次の方法で共有


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

レッスン 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 製品サンプルを参照してください。

このレッスンの作業

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

レッスンの開始

手順 1: レッスン 1 パッケージのコピー

こちらもご覧ください

For ループ コンテナー