SSIS:有更简单的方法吗?

SSIS: Is there a simpler way?

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

如果您想用最后一个有效值替换空值,那么您可以使用仅过去一个月的键列填充该列的缓存 "having good values",然后使用条件拆分器通过检查空值来查找该值。但是如果列数少,没有那么大的数据,你可以这样做。

但是如果数据量很大,你必须编写一个函数并在 sql 中使用该函数,其中 return 相同的值在好的值的情况下和在坏的值的情况下搜索最后一个物有所值 return 那。