聚合转换功能类似于sql语句中的聚合函数。它应用列值,并将结果作为新列复制到转换输出中。聚合转换支持下列运算功能

运算

说明

Group by

将数据集划分为组。任何数据类型的列都可用于分组。

Sum

对列中的值求和。只能对数值数据类型的列求和。

Average

返回列中值的平均值。只能对数值数据类型的列求平均值。

Count

返回组中项目的数量。

Count distinct

返回组中的唯一非空值的数量。

Minimum

返回组中的最小值。

Maximum

返回组中的最大值。

添加并配置聚合转换,则包必须已含有至少一个数据流任务和一个数据源。这里已一个简单的例子来介绍一下如何配置聚合转换。本例子的内容为:聚合每个订单的总金额。如果用T-SQL的话也就一个语句就可以了:

select SalesOrderID,SUM(OrderQty*UnitPrice) amount  from Sales.SalesOrderDetail

现在介绍通过聚合转换如何获取同样的结果。

  1. 在BIDS中,打开包含所需包的Integration Services 项目。
  2. 在解决方案资源管理器中的SSIS包文件创建一个名为AggrationDemo的包,可以看到如下结果

 

  1. 在AggregationDemo包控制流选项卡中拖放一个数据流任务,如图

 

  1. 在连接管理器中窗口中,创建一个OLEDB连接器连接本地数据库AdventureWorks、一个平面文件连接器连接C:\Users\zhuyujing\Desktop\test.txt。如图:

 

  1. 在数据流选项卡中,托动一个OLE DB源、派生列、聚合转换以及目标平面文件。如图:

 

各个控件配置如下:

  •  OLE DB源

 

  •  派生列

 

  •   聚合转换

 

其中在比较标志列表中有四个复选框。表示的含义如下:

比较选项

说明

忽略大小写

指定比较是否区分大小写字母。如果设置了此选项,字符串比较会忽略大小写。例如,"ABC" 和 "abc" 没有区别。

忽略假名类型

指定比较是否区分日语的两种假名字符类型:平假名和片假名。如果设置了此选项,字符串比较会忽略假名类型。

忽略字符宽度

指定比较是否区分字符的单字节形式和该字符的双字节形式。如果设置了此选项,字符串比较将把同一字符的单字节形式和双字节形式视为相同。

忽略非空格字符

指定比较是否区分空格字符和标注字符。如果设置了此选项,则比较会忽略标注字符。例如,"å" 与 "a" 相同。

 

  •  目标平面文件

 

配置好控件阿任务后,执行该包。执行结果如下:

 

打开目标txt文本,看看执行的结果

 

posted on 2012-04-14 10:50  guddujianxiao  阅读(5201)  评论(2编辑  收藏  举报