BI之SSIS之数据流转换(合并连接)
1 合并联接转换功能是将两个已排序的输入列的数据通过使用FULL JOIN、Left JOIN或INNERR JOIN联接形成一个输出数据集。它类似于T-SQL语句中的连接查询语句。但又与之有所区别。
1.1 使用合并联接要求输入已排序的数据。而T-SQL中的连接查询不需要
1.2 如果两个输入列关联的列是字符类型。则需要对它进行大小写转换或去除空格等操作。而在T-sql的连接查询中不需要。
2 新建SSIS包
3 控制流-》拖入“数据流任务”-》双击打开
4 连接管理器-》添加OLEDB连接“LocalHost.AdventureWorks2008.sa”
5 数据流-》拖入“OLEDB源”
5.1 OLEDB连接“LocalHost.AdventureWorks2008.sa”
5.2 数据访问模式“SQL命令”
5.3 SQL命令文本“select *from Person.Person”
5.4 列-》只勾选“BusinessEntityID”和“FirstName”
6 数据流-》拖入”排序“
6.1 将”OLEDB源“的数据流指向”排序“
6.2 勾选” BusinessEntityID “,选择升序
7 数据流-》拖入“OLEDB源”
7.1 OLEDB连接“LocalHost.AdventureWorks2008.sa”
7.2 数据访问模式“SQL命令”
7.3 SQL命令文本“select *from Person.PersonPhone”
8 数据流-》拖入”排序“
8.1 将”OLEDB源1“的数据流指向”排序“1
8.2 勾选” BusinessEntityID “,选择升序,两个排序的排序字段和排序类型必须一致
9 数据流-》拖入”合并连接”
9.1 将“排序”的数据流指向“合并连接“,输入“合并连接左侧输入”
9.2 将“排序1”的数据流指向“合并连接“
9.3 双击打开
9.3.1 连接类型“内部连接”
9.3.2 拖动BusinessEntityID连接到另一边的BusinessEntityID
9.3.3 勾选“FirstName”和“PhoneNum”
10 数据流-》拖入”平面文件目标“
10.1 将”合并“的数据流指向”平面文件目标“
10.2 将数据流保存到”xJoin文件“文件中去
11 执行包-》全绿-》成功-》查看xJoin文件,可以看到输出了用户名和手机号,这有点类似于查找,但是查找只有内连接,没有左连接(left join)和全连接(full join)