レッスン 1: プロジェクトと基本パッケージの作成
この実習では簡単な ETL パッケージを作成します。このパッケージは、1 つのフラット ファイル ソースからデータを抽出し、2 つの参照変換コンポーネントを使用してそのデータを変換します。さらに、変換したデータを、AdventureWorksDW の FactCurrencyRate ファクト テーブルに書き込みます。ここでは、新しいパッケージを作成する方法、データの変換元と変換先の接続を追加、構成する方法、新しい制御フロー コンポーネントとデータ フロー コンポーネントを操作する方法を学習します。
重要 |
---|
このチュートリアルでは、AdventureWorksDW サンプル データベースを使用します。AdventureWorksDW のインストールと配置の詳細については、「SQL Server のサンプルとサンプル データベースのインストールに関する注意点」を参照してください。 |
パッケージ要件について
パッケージを作成する前に、ソース データの形式と変換先データの形式をよく理解する必要があります。両方のデータ形式を理解しておけば、ソース データを変換先にマップするための変換を定義できます。
ソース データの確認
このチュートリアルで使用するソース データは、フラット ファイル (SampleCurrencyData.txt) に保存されている通貨履歴データのセットです。ソース データには、通貨の平均レート、通貨キー、日付キー、および終値レートに関する 4 つの列があります。
以下は、SampleCurrencyData.txt ファイルに保存されているソース データの例です。
1.00010001 ARS 9/3/2001 0:00 0.99960016
1.00010001 ARS 9/4/2001 0:00 1.001001001
1.00020004 ARS 9/5/2001 0:00 0.99990001
1.00020004 ARS 9/6/2001 0:00 1.00040016
1.00050025 ARS 9/7/2001 0:00 0.99990001
1.00050025 ARS 9/8/2001 0:00 1.001001001
1.00050025 ARS 9/9/2001 0:00 1
1.00010001 ARS 9/10/2001 0:00 1.00040016
1.00020004 ARS 9/11/2001 0:00 0.99990001
1.00020004 ARS 9/12/2001 0:00 1.001101211
フラット ファイル ソース データを操作する前に、フラット ファイル接続マネージャがフラット ファイル データをどのように解釈するのかを理解しておく必要があります。フラット ファイル ソースが Unicode の場合、すべての列が [DT_WSTR] として定義され、既定の列幅 50 が設定されます。フラット ファイル ソースが ANSI エンコードの場合は、列が [DT_STR] として定義され、列幅が 50 になります。これらの既定値を、使用中のデータに適した文字列型の列に変更する必要があります。既定値を変更するには、データの書き込み先 (変換先) のデータ型を確認し、フラット ファイル接続マネージャで適切なデータ型を指定します。
変換先の確認
ソース データの最終的な変換先は、AdventureWorksDW の FactCurrencyRate ファクト テーブルです。次の表に示すように、FactCurrencyRate ファクト テーブルには 4 つの列があり、さらに 2 つのディメンション テーブルへのリレーションシップがあります。
列名 |
データ型 |
参照テーブル |
参照列 |
---|---|---|---|
AverageRate |
float |
なし |
なし |
CurrencyKey |
int (FK) |
DimCurrency |
CurrencyKey (PK) |
TimeKey |
Int (FK) |
DimTime |
TimeKey (PK) |
EndOfDayRate |
float |
なし |
なし |
ソース データと変換先データのマッピング
ソース データの形式と変換先データの形式を調べてみると、CurrencyKey と TimeKey の値については参照が必要であることがわかります。これらの参照を実行する変換では、DimCurrency ディメンション テーブルと DimTime ディメンション テーブルの代替キーを使用することにより、CurrencyKey と TimeKey の値を取得します。
フラット ファイルの列 |
テーブル名 |
列名 |
データ型 |
---|---|---|---|
0 |
FactCurrencyRate |
AverageRate |
Float |
1 |
DimCurrency |
CurrencyAlternateKey |
nchar(3) |
2 |
DimTime |
FullDateAlternateKey |
Datetime |
3 |
FactCurrencyRate |
EndOfDayRate |
Float |
このレッスンの作業
このレッスンの内容は次のとおりです。
レッスンの開始
作業 1: 新しい Integration Services プロジェクトの作成
|