上下文
我有一张包含客户信息的表格。我想根据以下信息找出表中的重复客户:
现在将一个客户与同一表中的其他记录进行比较,我需要:
问题
有没有办法让Table_Input步骤一次读取或输出一条记录,但它应该在完成上一条记录的处理后自动读取下一条记录?此过程应继续,直到检查/处理表中的所有记录。
另外,想知道我们是否可以迭代相同的过程而不是一次从Table_Input读取一条记录?
答案 0 :(得分:2)
为了让你的表输入逐行读写,并不是最好的解决方案,我认为它不会达到你想要的效果(例如保持一个跟踪以前的记录)。
您可以尝试使用Unique rows步骤,该步骤可以将重复的行(使用您想要的密钥)重定向到另一个流程,在该流程中,它将被区别对待(或者如果您不想要它,则将其删除)。从我可以看到,您希望有多个唯一行来检查每一列。
答案 1 :(得分:1)
有没有办法让Table_Input步骤一次读取或输出一条记录,但它应该在完成上一条记录的处理后自动读取下一条记录?
是的,可以在两个步骤之间更改缓冲区行。您可以将行集中的Nr更改为1.但是不推荐更改此属性,除非您的内存不足。这可能会使工具表现异常。
现在根据共享的评论,我看到有两个问题:
<强> 1。您需要检查重复条目的数量:
您可以使用“分组依据”步骤或使用astro11回答的“唯一”步骤来实现此结果。您可以轻松获取名称的数量,如果计数大于1,您可以将其视为重复。
<强> 2。检查两个数据行:
您要验证两个名称(例如),例如“John S”和“John Smith”。理想情况下,这两个名称应被视为单个名称,因此重复。
首先,这是数据质量问题,没有工具会将这些行视为相同。你可以做的是使用一个名为“Fuzzy match”的步骤。基于您选择的算法的此步骤将尝试为您提供最接近的名称匹配度量。但是为了达到这个目的,你需要有一个单独的MASTER表,其中包含所有可能的名称。您可以使用“Jaro Winkler”算法来获得最接近的匹配。
希望这会有所帮助:)