加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

3.16、BI之SSIS之数据流转换(排序-派生列)

发布时间:2020-12-14 02:16:10 所属栏目:大数据 来源:网络整理
导读:BI之SSIS之数据流转换(排序-派生列) ? ? 1??????????新建包“8-排序与派生”-》双击打开 ? 2??????????控制流-》拖入“数据流任务”-》双击打开 ? 3??????????连接管理器-》右键“新建OLEDB连接”-》选择“LocalHost.AdventureWorks2008.sa” ? 4?????????

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个即可

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读