このレッスンでは、1 つのフラット ファイル ソースからデータを抽出し、2 つの参照変換コンポーネントを使用してデータを変換し、そのデータを AdventureWorksDW2012 の FactCurrency ファクト テーブルに書き込む単純な ETL パッケージを作成します。 このレッスンの一環として、新しいパッケージを作成し、データ ソースと宛先の接続を追加および構成し、新しい制御フローとデータ フロー コンポーネントを操作する方法について説明します。
重要
このチュートリアルでは、 AdventureWorksDW2012 サンプル データベースが必要です。 AdventureWorksDW2012 のインストールと展開の詳細については、「Microsoft SQL Server 製品サンプル: Reporting Services」を参照してください。
パッケージの要件を理解することについて
このチュートリアルでは、Microsoft SQL Server Data Tools が必要です。
SQL Server Data Tools のインストールの詳細については、「 SQL Server Data Tools のダウンロード」を参照してください。
パッケージを作成する前に、ソース データと変換先の両方で使用される書式を十分に理解しておく必要があります。 これらの両方のデータ形式を理解したら、ソース データを変換先にマップするために必要な変換を定義する準備が整います。
ソースの確認
このチュートリアルでは、ソース データはフラット ファイルに含まれる一連の履歴通貨データです。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 エンコードの場合、列の幅は 50 の [DT_STR] として定義されます。 文字列列の型がデータに適するように、これらの既定値を変更する必要があります。 これを行うには、データの書き込み先のデータ型を確認し、フラット ファイル接続マネージャー内で適切な種類を選択する必要があります。
目的地を見る
ソース データの最終的な変換先は、AdventureWorksDW の FactCurrency ファクト テーブルです。 FactCurrency ファクト テーブルには 4 つの列があり、次の表に示すように、2 つのディメンション テーブルとのリレーションシップがあります。
| 列の名前 | データ型 | 参照テーブル | 参照列 |
|---|---|---|---|
| 平均率 | フロート | 無し | 無し |
| CurrencyKey | int (FK) | DimCurrency | CurrencyKey (PK) |
| 日付キー | Int (FK) | DimDate | DateKey (PK) |
| 終業レート | フロート | 無し | 無し |
宛先に互換性のあるソースデータのマッピング
ソースとコピー先のデータ形式の分析は、 CurrencyKey と DateKey の値に対して参照が必要であることを示します。 これらの参照を実行する変換は、DimCurrency および DimDate ディメンション テーブルの代替キーを使用して CurrencyKey と DateKey の値を取得します。
| フラット ファイル列 | テーブル名 | 列の名前 | データ型 |
|---|---|---|---|
| 0 | FactCurrency | AverageRate | フロート |
| 1 | DimCurrency | CurrencyAlternateKey | nchar (3) |
| 2 | DimDate | フル日付代替キー | 日付 |
| 3 | FactCurrency | 終日レート | フロート |
このレッスンの作業
このレッスンの内容は次のとおりです。