我使用派生列转换来替换一个值,只要满足其他两列的条件即可。如何在数据流中看到值因替换而改变的频率?有没有办法在输出箭头上显示它,或者我还能如何在数据流中显示更改?
PS(问答环节不需要)
我想检查字符串输入是否与查找输出相同。但有时,名称(名字和姓氏)的值中有多个名字,例如 Taylor-Smith 对 Smith,或 Bob Thomas 对 Bob。人们可能会结婚,或者有时可能会填写两个名字,因此数据可能不匹配两个主数据帐户。
(DT_BOOL)(FINDSTRING(name,[Lookup.name],1)) ? 1 : [score_name]
一旦在内找到,就将列的值score_name
替换为,否则保留介于 0 和 1 之间的值。1
name
Lookup.name
“查找姓名?”:
您可以采取任何其他示例,例如“替换列值?”,问题并不取决于所做的事情。
最佳选择:制作新柱子比更换柱子更容易
相比替换列,更简单的方法是为每个条件创建新的派生列,而无需任何条件拆分,然后显示多播和条件拆分后新旧值之间的变化次数。如果要替换列,只需删除旧列并保留新列即可。
不推荐:有条件的拆分和合并
进行条件拆分并按条件拆分数据:
至少有两个灰色输出箭头:
输出箭头显示数据流中拆分的行数,这是所讨论的目标,并且拆分避免用 1 替换 1(在我的示例中),以便您可以看到替换更改了多少值。对于替换,为满足条件的一个输出箭头创建一个派生列,并将值替换为 1(在我的示例中)。不再需要条件,因为这是由条件拆分完成的。之后,按相同的键对两者进行排序,并使用合并组件将它们再次附加在一起。
如果有三个灰色输出箭头,则需要两个连续的合并组件才能将所有内容再次合并到一个数据集中。
我有 8 个条件,这些条件建立在 4 个主要条件之上,我将它们分成 4 轮,这种设置变成了一堆乱七八糟的组件。我不推荐这种做法。