次の方法で共有


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

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

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

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 をインストールして配置する方法の詳細については、「SQL Server サンプルとサンプル データベースの概要」を参照してください。

このレッスンの作業

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

レッスンの開始

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

関連項目

概念

For ループ コンテナー