在上一个随笔中我们熟悉了数据流任务,现在来做一个例子,通过实践学习这些介绍的内容。这个例子从AdventureWorks数据库中取得数据,然后对数据进行聚合,排序,计算产生新列操作并输入到一个.csv文件中。

  1. 新建一个新的package将它重命名为AdventureWorksExtract.dtsx,在control flow中拖放一个数据流任务,双击进入data flow 界面
  2. 在data flow界面内拖放一个OLE DB数据源,右击重命名为TransactionHistory,双         击打开编辑界面AdventureWorks数据库连接如果已经存在就直接选择它,如果不存在点击新建一个连接
  3. 新建连接之后回到OLE DB Source Editor界面,默认Data Access Mode选项是Table or View,选择数据库中的表[Production].[TransactionHistoryArchive],如图4-32                              图4-32
  4. 点击Column Page如图4-33选择列ProductID, Quantity,和 ActualCost,点击OK退出                              图4-33
  5. 从工具栏Data Flow Transformations中拖放一个Derived Column任务用来产生派生新列,重命名为Calculate Total Cost,用鼠标拖住TransactionHistory 数据源连接这个task
  6. 双击这个Derived Column打开编辑界面如图4-34,在表达式列中输入下面的表达式:[Quantity]* [ActualCost],列名也可以从左边Columns拖放如图,在Derived Column Name列中输入TotalCost,Derived Column列中选择<add as a new column>,点击OK退出编辑界面                        图4-34
  7. 在data flow中拖放一个Aggregate任务,重命名为Aggregate Data,把它和Derived Column连接起来。双击Aggregate任务打开编辑界面如图4-35双击ProductID可以看到下面表格中新添加了一行,在Operation中选择Group By,然后栓剂Quantity和TotalCost,在Operation中选择Sum。点击OK退出编辑界面                                                              图4-35
  8. 从Data Flow Transformations中拖放一个Sort任务重命名为Sort by ProductID,把它和Aggregate任务连接起来。双击Sort任务打开编辑界面,选择Quantity字段降序排列,意思是按照销售量从高到低排序,点击OK退出编辑界面。
  9. 从Data Flow Destinations中拖放一个一个Flat File Destination任务重命名为Vendor Extract,把它和Sort任务连接起来。
  10. 双击Flat File Destination打开编辑界面,新建一个文件连接,在弹出的文件格式选择对话框中默认选择第一个Delimited,将连接命名为Vendor Extract,在File Name文本框中输入C:\SSISDemos\VendorExtract.csv,如果C盘下没有这个文件夹,要新建一个。最后的界面如图4-36,点击OK退出编辑界面。                                                         图4-36 
    点击mapping标签界面,可以看到从Sort任务中输入的数据和文件中的数据列一一对应,如图4-37

    图4-37

现在整个package完成了,这是一个典型的ETLpackage,右击运行这个package执行完成之后可以看到绿色的连线傍边有转换的数据行数,如图4-38

图4-38

SSIS中的容器和数据流—举例说明数据转换任务相关推荐

  1. SSIS中的容器和数据流—调试工具数据视图

    数据视图是SSIS中常见的调试工具,它的功能是在包运行的时候查看数据.例如如果在Aggregate转换的前,后分别放置一个数据视图,尅查看数据在进行聚合操作之前和之后的数据. 但是如果将package ...

  2. SSIS中的容器和数据流—数据转换(Transformations)

    对数据流来说按照需求将数据转换成需要的格式是数据操作中的一个关键的步骤.例如想要得到聚合排序后的运算结果,转换可以实现这种操作.和SQL Server 2000 DTS完全不同,这些操作不需要编写sc ...

  3. 转载SSIS中的容器和数据流—数据转换(Transformations)

    对数据流来说按照需求将数据转换成需要的格式是数据操作中的一个关键的步骤.例如想要得到聚合排序后的运算结果,转换可以实现这种操作.和SQL Server 2000 DTS完全不同,这些操作不需要编写sc ...

  4. ssis for循环容器_SSIS包中的序列容器

    ssis for循环容器 This article explores the Sequence container in SSIS package with examples. 本文通过示例探索了SS ...

  5. ssis for循环容器_使用SSIS ForEach Loop容器以日期顺序处理文件

    ssis for循环容器 One positive thing to come out of my recent project that involved rewriting one of the ...

  6. C++中map容器的说明和使用技巧

    C++中map容器提供一个键值对容器,map与multimap差别仅仅在于multiple允许一个键对应多个值. 1   头文件 #include <map> 2   定义 map< ...

  7. python pandas sqlserver_python学好了还可以用到SSIS上,将Python的能力嫁接到SSIS中

    前一篇推文中,给大家演示了在SSIS上使用dotNET脚本,实现一些原生SSIS难以实现的功能,并冠以无限可能的说法. 对部分非dotNET的人群来说,难以发挥到自身的知识储备能力,此篇郑重地为大家宣 ...

  8. MFC中STL容器中Vector,List,Map基本用法汇总

    容器就是数据结构的泛指,迭代器就是指针的泛指,可以指向元素.它可以用来存储数据,就比如杯子用来装水一样.而STL中的容器有很多,它包括vector,list,map,deque,set等.我就简单列举 ...

  9. 「数据ETL」从数据民工到数据白领蜕变之旅(六)-将Python的能力嫁接到SSIS中...

    前一篇推文中,给大家演示了在SSIS上使用dotNET脚本,实现一些原生SSIS难以实现的功能,并冠以无限可能的说法. 充分复用python的现有优势 python的确是一门非常优秀的编程语言,特别是 ...

最新文章

  1. DIV+CSS两种盒子模型(W3C盒子与IE盒子)
  2. Spock Primer 翻译
  3. python比较列表所有字符串_python – 将字符串与数组中的所有值进行比较
  4. Spark入门阶段一之扫盲笔记
  5. springboot拦截异常信息发送邮件提醒
  6. 火狐浏览器安装java插件下载_如何在 Firefox 浏览器安装 java 插件
  7. 网页上的html表格导出excel表格,网页表格导出至Excel
  8. MySQL Java的JDBC编程
  9. 怎么做网站推广-网站推广100种方法
  10. 【电气专业知识问答】问:什么叫组合电器?什么是GIS?
  11. 微软Surface Pro 4/5平板如何重装Win10系统?教程分享
  12. 阿里云凌晨回应故障:已全部恢复 将尽快赔偿
  13. Greenplum6.x重新初始化
  14. 微信小程序—自定义相机
  15. 用python哆啦a梦的代码_【Python】绘制哆啦A梦
  16. 3分钟高效造型神器,戴森新一代Airwrap多功能造型器助力轻松开启日抛造型
  17. JDK11安装教程(手把手配置,也适用于其他jdk版本)
  18. 织梦的php模板文件在哪,主要模板文件与功能说明
  19. win10系统相机灰色问题解决(如腾讯会议中开启失败)
  20. PCB设计如何美观的几大原则

热门文章

  1. php刷新公测,2021新时代来临,Z-BlogPHP 1.7 重磅公测
  2. 文件处理之解决使用 feof(c语言)或(fin.eof())出现多读问题
  3. Eclipse AST 实现一个类信息统计小程序
  4. 【项目管理】常见缩写(术语)
  5. 笔记-项目质量管理-编制质量管理计划的工具与技术
  6. 软件开发定律系列之布鲁克斯定律有感
  7. SpringMVC应用拦截器判断用户是否登录
  8. 昨天电脑问题 补昨日8-3复习内容 异常与文件操作
  9. 复习之 c实现 通讯录
  10. matlab遗传算法无人机问题,基于改进遗传算法的无人机路径规划