適用対象:SQL Server
Azure Data Factory の SSIS Integration Runtime
このレッスンでは、シンプルな抽出、変換、読み込み (ETL) パッケージを作成します。 パッケージは、単一のフラット ファイル ソースからデータを抽出し、2 つの参照変換を使用してデータを変換し、変換されたデータをFactCurrencyRateサンプル データベースのAdventureWorksDW2025ファクト テーブルのコピーに書き込みます。 このレッスンの一環として、新しいパッケージを作成し、データ ソースと宛先の接続を追加して構成し、新しい制御フローおよびデータ フロー コンポーネントを操作します。
パッケージを作成する前に、ソース データの形式と変換先データの形式を理解する必要があります。 次に、ソース データを変換先にマップするために必要な変換を定義する準備ができました。
前提条件
このチュートリアルでは、Microsoft SQL Server Data Tools、一連のサンプル パッケージ、サンプル データベースを使用します。
注
この記事のコード サンプルでは、AdventureWorks2025 または AdventureWorksDW2025 サンプル データベースを使用します。このサンプル データベースは、Microsoft SQL Server サンプルとコミュニティ プロジェクト ホーム ページからダウンロードできます。
SQL Server Data Tools をインストールするには、 Visual Studio 用 SQL Server Data Tools (SSDT) のインストールに関するページを参照してください。
このチュートリアルのレッスン パッケージをすべてダウンロードするには:
- Integration Services チュートリアル ファイルのページに移動します。
- ダウンロード ボタンを選択します。
-
Creating a Simple ETL Package.zipファイルを選択し、[次へ] を選択します。 - ファイルのダウンロード後、そのコンテンツを解凍し、ローカル ディレクトリに置きます。
ソース データを表示する
このチュートリアルでは、ソース データは、 SampleCurrencyData.txtという名前のフラット ファイル内の一連の履歴通貨データです。 ソース データには、通貨の平均相場、通貨キー、日付キー、1 日の最終相場の 4 つの列があります。
SampleCurrencyData.txt ファイル内のソース データの例を次に示します。
1.00070049USD9/3/05 0:001.001201442
1.00020004USD9/4/05 0:001
1.00020004USD9/5/05 0:001.001201442
1.00020004USD9/6/05 0:001
1.00020004USD9/7/05 0:001.00070049
1.00070049USD9/8/05 0:000.99980004
1.00070049USD9/9/05 0:001.001502253
1.00070049USD9/10/05 0:000.99990001
1.00020004USD9/11/05 0:001.001101211
1.00020004USD9/12/05 0:000.99970009
フラット ファイル ソース データを操作する前に、フラット ファイル接続マネージャーがフラット ファイル データをどのように解釈するのかを理解しておく必要があります。 フラット ファイル ソースが Unicode の場合、フラット ファイル接続マネージャーは、既定の列幅[DT_WSTR]で50としてすべての列を定義します。 フラットファイルソースがANSIエンコードされている場合、列は[DT_STR]として定義され、既定の列幅は50です。 これらの既定値を変更し、自分のデータにより適した文字列型にしなければならない場合があります。 変換先のデータ型を見て、フラット ファイル接続マネージャー内でその型を選択する必要があります。
変換先データを見る
ソース データの変換先は、FactCurrencyRateのAdventureWorksDW2025ファクト テーブルのコピーです。 次の表に示すように、 FactCurrencyRate ファクト テーブルには 4 つの列があり、2 つのディメンション テーブルとのリレーションシップがあります。
| 列名 | データの種類 | 参照テーブル | 検索列 |
|---|---|---|---|
AverageRate |
float | なし | なし |
CurrencyKey |
int (FK) 1 | DimCurrency |
CurrencyKey (PK) 2 |
DateKey |
int (FK) 1 | DimDate |
DateKey (PK) 2 |
EndOfDayRate |
float | なし | なし |
1 FK: 外部キー
2 PK: 主キー
変換先にソース データをマップする
ソースデータ形式と変換先データ形式の分析は、 CurrencyKey 値と DateKey 値に対してルックアップが必要であることを示しています。 これらの参照を実行する変換は、 DimCurrency および DimDate ディメンション テーブルの代替キーを使用して、これらの値を取得します。
| フラット ファイル列 | テーブル名 | 列名 | データの種類 |
|---|---|---|---|
0 |
FactCurrencyRate |
AverageRate |
float |
1 |
DimCurrency |
CurrencyAlternateKey |
nchar(3) |
2 |
DimDate |
FullDateAlternateKey |
date |
3 |
FactCurrencyRate |
EndOfDayRate |
float |
このレッスンの作業
- レッスン 1-1: 新しい Integration Services プロジェクトを作成する
- レッスン 1-2: フラット ファイル接続マネージャーを追加して構成する
- レッスン 1-3: OLE DB 接続マネージャーを追加して構成する
- レッスン 1-4: データ フロー タスクをパッケージに追加する
- レッスン 1-5: フラット ファイル ソースを追加して構成する
- レッスン 1-6: 参照変換を追加して構成する
- レッスン 1-7: OLE DB 接続先を追加して構成する
- レッスン 1-8: レッスン 1 パッケージに注釈を付け、書式設定する
- レッスン 1-9: レッスン 1 パッケージをテストする