您的位置:首页 > 数据库

ETL学习之四:SQL Server Integration Services入门

2009-04-13 08:10 351 查看
ETL学习之四:SQLServerIntegrationServices入门

SSIS就是微软在SQLSERVER2005上对DTS的升级,不得不说,微软在BI上是花了很大功夫的,包括提供了SSIS,SSAS,SSRS等多个工具,从创建数据仓库,到从元数据抽取数据,到创建维度和挖掘结构,挖掘模型,训练,报表模型设计,报表设计,发布,非常方便和强大。先从ETL开始,看看利用这些工具如何将元数据和数据仓库联系起来,以下转自MSDN:

在本课中,您将创建一个简单ETL包,该包可以从单个平面文件源提取数据,使用两个查找转换组件转换该数据,然后将该数据写入AdventureWorksDW中的FactCurrencyRate事实数据表。在本课中,您还将学习如何创建新包、添加和配置数据源和目标连接以及使用新的控制流和数据流组件。

重要事项:
本教程需要AdventureWorksDW示例数据库。有关安装和部署AdventureWorksDW的详细信息,请参阅:运行安装程序安装AdventureWorks示例数据库和示例.

了解包要求

在创建包之前,需要充分了解在源数据和目标数据中使用的格式。了解了这两种数据格式后,才能定义将源数据映射到目标数据所需的转换。

查看源

对于本教程,源数据是一组包含在平面文件SampleCurrencyData.txt中的历史货币数据。源数据有以下四列:货币的平均汇率、货币键、日期键和当天汇率。

下面是SampleCurrencyData.txt文件中所包含的源数据示例:

1.00010001ARS9/3/20010:000.99960016


1.00010001ARS9/4/20010:001.001001001


1.00020004ARS9/5/20010:000.99990001


1.00020004ARS9/6/20010:001.00040016


1.00050025ARS9/7/20010:000.99990001


1.00050025ARS9/8/20010:001.001001001


1.00050025ARS9/9/20010:001


1.00010001ARS9/10/20010:001.00040016


1.00020004ARS9/11/20010:000.99990001


1.00020004ARS9/12/20010:001.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

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: