SSIS用非空值填充空值

SSIS fill in Null Value with Non-Null Value

我目前能够在 运行 SSIS 中的脚本组件之后从平面文件中获取此类输出:

我的目标是用相同的序列号填写该列的其余部分,如下所示:

我尝试通过将其设置为变量并使用派生列来实现此目的,但直到数据流之后才设置该变量。此外,该脚本仅逐行读取,因此我看不到执行此简单任务的明显方法。

有没有办法在脚本中创建一个列并为其指定序列号的默认值?或者有没有一种方法可以使用 SQL 命令来更新列不为空的空值?

数据加载后更新语句table:

update table set column = (select top 1 column from table where column is not null) where column is null

您可以尝试这个设计来执行您需要的操作(随意简化它,用您的输入数据测试):

  1. 阅读你的来源
  2. 多播
  3. 在您想要最大值的列上聚合 值(序列号)
  4. 创建一个具有常量值的派生列 (例如 1)
  5. 根据常数值对集合进行排序
  6. 使用常量键将您的两个集合合并为一个完整连接
  7. 将数据导入目标 table 并使用新的聚合 列填写序列号列