第 1 课:创建项目和基本包
在本课中,您将创建一个简单 ETL 包,该包可以从单个平面文件源提取数据,使用两个查找转换组件转换该数据,然后将该数据写入 AdventureWorksDW 中的 FactCurrencyRate 事实数据表。在本课中,您还将学习如何创建新包、添加和配置数据源和目标连接以及使用新的控制流和数据流组件。
 重要提示 | 
|---|
本教程需要 AdventureWorksDW 示例数据库。有关安装和部署 AdventureWorksDW 的详细信息,请参阅安装 SQL Server 示例和示例数据库的注意事项。  | 
了解包要求
在创建包之前,需要充分了解在源数据和目标数据中使用的格式。了解了这些数据格式后,便可定义将源数据映射到目标数据所需的转换。
查看源
在本教程中,源数据是平面文件 SampleCurrencyData.txt 中包含的一组历史货币数据。源数据具有以下四列:货币的平均汇率、货币键、日期键和收盘汇率。
下面是 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 事实数据表有四列,并且与两个维度表有关系,如下表所示。
列名称  | 
数据类型  | 
查找表  | 
查找列  | 
|---|---|---|---|
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 项目
  | 
重要提示
 使 Integration Services 保持最新