posts - 20,  comments - 34,  views - 13万

 聚合转换功能类似于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   guddujianxiao  阅读(5213)  评论(2编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
< 2012年4月 >
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 1 2 3 4 5
6 7 8 9 10 11 12

点击右上角即可分享
微信分享提示