BI之SSIS之数据流转换(条件性拆分)
1 条件性拆分类似于C#中的switch。。。case。。。default
2 新建SSIS包,命名为“9-条件性拆分”
3 控制流-》拖入“数据流任务”-》双击打开
4 连接管理器-》右键“新建OLEDB连接”-》选择“LocalHost.AdventureWorks2008.sa”
5 数据流-》拖入“OLEDB源”
5.1 连接管理器-》OLEDB连接管理器“LocalHost.AdventureWorks2008.sa”-》数据访问模式“表或视图”-》表或视图的名称“dbo.DatabaseLog”
5.2 列-》取消“TSQL”勾选-》取消“XmlEvent”勾选
5.3 确定
6 数据流-》拖入“条件性拆分”
6.1 将“OLEDB源”的数据流指向“条件性拆分”
6.2 输入名称“ID大于10小于100”-》条件“DatabaseLogID >= 10 && DatabaseLogID <= 100”
6.3 输入名称“Event 等于CREATE_TABLE”-》条件“Event == "CREATE_TABLE"”
7 数据流-》拖入“条件性拆分”
7.1 将“条件性拆分”指向“条件性拆分1”,选择“ID大于10小于100”
7.2 输入名称“ID大于等于30小于等于50”-》条件“DatabaseLogID >= 30 && DatabaseLogID <= 50”
8 数据流-》拖入“平面文件目标”
8.1 将“条件性拆分1”指向“平面文件目标”,选择“ID大于等于30小于等于50”
8.2 连接管理器-》平面文件连接管理器“新建”-》带分隔符-》连接管理器名称“ID大于等于30小于等于50的数据连接”
8.2.1 常规-》文件名“浏览”-》选择保存文件的路径-》文件名“ID大于等于30小于等于50的数据”-》打开-》勾选“在第一个数据行中显示列名”
8.2.2 列-》列分隔“制表符 {t}”
8.3 映射
9 数据流-》拖入“平面文件目标”
9.1 将“条件性拆分1”指向“平面文件目标”,选择“Event 等于CREATE_TABLE”
9.2 连接管理器-》平面文件连接管理器“新建”-》带分隔符-》连接管理器名称“Event 等于CREATE_TABLE的数据连接”
9.2.1 常规-》文件名“浏览”-》选择保存文件的路径-》文件名“Event 等于CREATE_TABLE的数据”-》打开-》勾选“在第一个数据行中显示列名”
9.2.2 列-》列分隔“制表符 {t}”
9.3 映射
10 数据流-》拖入“平面文件目标”
10.1 将“条件性拆分1”指向“平面文件目标”,选择“条件性拆分默认输出”
10.2 连接管理器-》平面文件连接管理器“新建”-》带分隔符-》连接管理器名称“条件性拆分默认输出数据连接”
10.2.1 常规-》文件名“浏览”-》选择保存文件的路径-》文件名“条件性拆分默认输出数据”-》打开-》勾选“在第一个数据行中显示列名”
10.2.2 列-》列分隔“制表符 {t}”
10.3 映射
11 执行包-》全绿-》成功-》数据经过条件性拆分的顺序1的条件时,如果符合则进入该条件流程,如果不符合则进行后一个条件判断,符合则进入不符合则继续进入后一个条件判断,默认输出是当不符合前面的所有条件时,从默认输出,相当于switch中的default