レッスン 1: プロジェクトと基本パッケージの作成
このレッスンでは、簡単な ETL パッケージを作成します。このパッケージは、1 つのフラット ファイル ソースからデータを抽出し、2 つの参照変換コンポーネントを使用してそのデータを変換します。さらに、変換したデータを、AdventureWorksDW2012 の FactCurrency ファクト テーブルに書き込みます。 ここでは、新しいパッケージを作成する方法、データの変換元と変換先の接続を追加、構成する方法、新しい制御フロー コンポーネントとデータ フロー コンポーネントを操作する方法を学習します。
重要 |
---|
このチュートリアルには、AdventureWorksDW2012 サンプル データベースが必要です。 AdventureWorksDW2012 のインストールと配置の詳細については、「SQL Server サンプルとサンプル データベースの概要」を参照してください。 |
パッケージ要件について
このチュートリアルには、Microsoft SQL Server Data Tools が必要です。
Microsoft SQL Server Data Tools のインストールの詳細については、「SQL Server Data Tools のダウンロード」を参照してください。
パッケージを作成する前に、ソース データの形式と変換先データの形式をよく理解する必要があります。 両方のデータ形式を理解しておけば、ソース データを変換先にマップするための変換を定義できます。
ソース データの確認
このチュートリアルで使用するソース データは、フラット ファイル (SampleCurrencyData.txt) に保存されている通貨履歴データのセットです。 ソース データには、通貨の平均レート、通貨キー、日付キー、および終値レートに関する 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 になります。 これらの既定値を、使用中のデータに適した文字列型の列に変更する必要があります。 既定値を変更するには、データの書き込み先 (変換先) のデータ型を確認し、フラット ファイル接続マネージャーで適切なデータ型を指定します。
変換先の確認
ソース データの最終的な変換先は、AdventureWorksDW の FactCurrency ファクト テーブルです。 次の表に示すように、FactCurrency ファクト テーブルには 4 つの列があり、さらに 2 つのディメンション テーブルへのリレーションシップがあります。
列名 |
データ型 |
参照テーブル |
参照列 |
---|---|---|---|
AverageRate |
float |
なし |
なし |
CurrencyKey |
int (FK) |
DimCurrency |
CurrencyKey (PK) |
DateKey |
Int (FK) |
DimDate |
DateKey (PK) |
EndOfDayRate |
float |
なし |
なし |
ソース データと変換先データのマッピング
変換元と変換先のデータ形式を調べてみると、CurrencyKey と DateKey の値については参照が必要であることがわかります。 これらの参照を実行する変換では、DimCurrency ディメンション テーブルと DimDate ディメンション テーブルの代替キーを使用することにより、CurrencyKey と DateKey の値を取得します。
フラット ファイルの列 |
テーブル名 |
列名 |
データ型 |
---|---|---|---|
0 |
FactCurrency |
AverageRate |
float |
1 |
DimCurrency |
CurrencyAlternateKey |
nchar(3) |
2 |
DimDate |
FullDateAlternateKey |
date |
3 |
FactCurrency |
EndOfDayRate |
float |
このレッスンの作業
このレッスンの内容は次のとおりです。