3.16、BI之SSIS之数据流转换(排序-派生列)
BI之SSIS之数据流转换(排序-派生列) ? ? 1??????????新建包“8-排序与派生”-》双击打开 ? 2??????????控制流-》拖入“数据流任务”-》双击打开 ? 3??????????连接管理器-》右键“新建OLEDB连接”-》选择“LocalHost.AdventureWorks2008.sa” ? 4??????????数据流-》拖入“OLEDB源” 4.1?????????连接管理器-》OLEDB连接管理器“LocalHost.AdventureWorks2008.sa”-》数据访问模式“表或视图”-》表或视图的名称“dbo.DatabaseLog” 4.2?????????列-》取消“TSQL”勾选-》取消“XmlEvent”勾选 4.3?????????确定 ? 5??????????数据流-》拖入“排序” 5.1?????????将“OLEDB源”的数据流指向“排序” 5.2?????????双击打开-》勾选“event”-》勾选“postTime”,posttime的排序类型改为“降序” 5.3?????????确定 ? 6??????????数据流-》拖入“派生列” 6.1?????????将“排序”的数据流指向“派生列” 6.2?????????双击打开-》派生列名称“Msg”-》派生列“作为新列添加”-》表达式“(DT_WSTR,25) [PostTime]+":用户"+[DatabaseUser]+"触发了事件:"+ [Event]”,(DT_WSTR,25)函数是对时间进行数据转换,转换成字符串类型 6.3?????????确定 ? 7??????????数据流-》拖入“平面文件目标” 7.1?????????将“派生列”的数据流指向“平面文件目标” 7.2?????????连接管理器-》平面文件连接“新建”-》带分隔符-》连接管理器名称“排序并增加派生列后的结果文件连接” 7.2.1????常规-》文件名“浏览”-》选择保存的文件夹-》文件名“排序并增加派生列后的结果文件”-》勾选“在第一个数据行中显示列名称” 7.2.2????列-》列分隔符“制表符 {t}” 7.2.3????确定 7.3?????????映射-》查看映射是否一一对应 7.4?????????确定 ? 8??????????执行包-》到派生列时报错-》错误为数据截断错误,看了一下派生列的长度为288,不可能超长,但是又找不到问题出在哪里,于是我们用另外一种方法解决 ? 9??????????双击派生列-》配置错误输出-》截断“忽略失败”,此时如果发生截断错误,将忽略这个错误,相当为try catch掉了 ? 10??????然后再执行包-》全绿-》成功-》查看文件,看数据是否按设定的排序进行排序-》看是否增加了一列msg的派生列数据 ? 11??????最后发现,是时间转换时发生的截断错误,时间有时是29个字符,转换时只给了23个,所以报错,将转换的长度改为30个即可 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |