在這一課中,您將建立一個簡單的 ETL 套件,從單一平面文件來源擷取數據,使用兩個查找轉換元件轉換數據,並將該數據寫入 AdventureWorksDW2012 中的 FactCurrency 事實表。 在這一課中,您將瞭解如何建立新的套件、新增和設定數據源和目的地連線,以及使用新的控制流程和數據流元件。
這很重要
本教學課程需要 AdventureWorksDW2012 範例資料庫。 如需安裝和部署 AdventureWorksDW2012 的詳細資訊,請參閱 sql Server 產品範例:Reporting Services Microsoft。
瞭解套件需求
本教學課程需要Microsoft SQL Server Data Tools。
如需安裝 SQL Server Data Tools 的詳細資訊,請參閱 SQL Server Data Tools 下載。
建立套件之前,您需要充分瞭解源數據和目的地中使用的格式設定。 一旦您瞭解這兩種數據格式,您就可以定義將源數據對應至目的地所需的轉換。
查看來源
在本教學課程中,源數據是一組歷史貨幣數據,包含在平面文件 SampleCurrencyData.txt中。 源數據有下列四個欄:貨幣的平均匯率、貨幣索引鍵、日期索引鍵和收盤匯率。
以下是 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 事實數據表有四個數據行,而且具有兩個維度數據表的關聯性,如下表所示。
| 欄位名稱 | 數據類型 | 查閱資料表 | 查閱欄位 |
|---|---|---|---|
| 平均率 | 浮動 | 沒有 | 沒有 |
| 貨幣鑰匙 | int (FK) | DimCurrency | CurrencyKey (PK) |
| DateKey | Int (FK) | DimDate | DateKey (PK) |
| 每日收盤匯率 | 浮動 | 沒有 | 沒有 |
映射源數據以符合目標地的兼容性
來源和目的地數據格式的分析表示 CurrencyKey 和 DateKey 值需要查閱。 執行這些查閱的轉換會使用 DimCurrency 和 DimDate 維度數據表中的替代索引鍵來取得 CurrencyKey 和 DateKey 值。
| 平面文件欄 | 資料表名稱 | 欄位名稱 | 數據類型 |
|---|---|---|---|
| 0 | FactCurrency | 平均速率 | 浮動 |
| 1 | DimCurrency | 貨幣替代鍵 | nchar(3) |
| 2 | DimDate | 完整日期替代鍵 | 日期 |
| 3 | FactCurrency | 日終匯率 | 浮動 |
課程任務
本課程包含下列工作: