准确命名和解释的棘手问题 - 如果有任何不清楚的地方,请告诉我。
我有一个非规范化的数据流,请考虑:
Input one:
ID
Value
FKID
Input two:
FKID
DiffValue
CheckValue
输入一可以有多个输入两行,显然与FKID有关。
现在,加入后我可能会有类似的东西:
[ID] - [Value] - [DiffValue] - [CheckValue]
1 - A - D1 - C1
1 - A - D2 - C1
1 - A - D3 - C2
然后,我根据 CheckValue 进行条件拆分 - 搜索值:C2。如果是 C2,将 Value 更改为 DiffValue。留给我:
拆分一:
1 - A - D1 - C1
1 - A - D2 - C1
拆分二:
1 - D3 - D3 - C2
现在我想确保我的所有行都具有该 D3 值。这里的问题是,拆分可能永远不会变为真,在这种情况下,我需要它继续下去,保持原始 A 值,但如果只有 ONE 行满足校验值条件,则所有行都需要差异值。
脚本转换组件不起作用,因为它基于缓冲区,并且我无法缓存所有行,在将它们发送到输出之前一次对整个行集合执行代码。我什至不能对临时 SQL 做一个简单的保存 ID 并在之后基于 ID 进行查找,因为在条件拆分之后它是两个并行异步路径,所以我不能停止第一个拆分,直到临时 SQL 表已经被填充。
我可以做一个脚本目标,然后缓存所有行,在缓存每一行后执行我的操作,然后使用相关列进行自定义输出,但是,还有更多列(这是一个简化的示例),并且必须处理该自定义输出的维护是压倒性的。
我该怎么办?