SSIS:有更简单的方法吗?

时间:2015-10-29 08:10:34

标签: sql-server ssis sql-server-2012 common-table-expression

我在oledb数据库中有3个表,我每天都使用SSIS包将数据提取到mssql服务器。在绝大多数情况下,这些数据是好的并且不需要修改,但是每月大约两次我得到短期的空值,我想用最后已知的好的值或一些其他生成的值替换。有没有办法在SSIS中执行此操作而不必在数据流任务之后使用CTE命令运行多个sql查询,就像我现在正在做的那样?当一小时或两小时存在小间隙时,CTE可以正常工作,但如果它比使用CTE的情况更多,则会导致偏离趋势。

1 个答案:

答案 0 :(得分:1)

如果要将null值替换为上一个良好值,则可以使用键列仅填充“具有良好值”列的缓存仅持续一个月,然后通过检查null来使用条件分割器查找值。但如果列数很少且数据不是很大,你就可以这样做。

但是在大​​量数据的情况下你必须编写一个函数并在sql中使用该函数,它在值很好的情况下返回相同的值,并且在值不好的情况下搜索最后的好值并返回它。