为了简单起见,我可以说我有一个Client
表格,其中包含字段:
我查看了Region
表格,其中包含字段:
Client
表有一行:
123, 3075, THOMASTOWN
该地区有两行:
1,3074,THOMASTOWN
2,3075,LALOR
我正在尝试使用SSIS模糊查找来清理一些数据。
我使用Client作为源,将查找作为Reference。当每次查找的最大输出匹配数为1时,结果为123,3075,THOMASTOWN, 1,3074,THOMASTOWN
。在这种情况下,SSIS更喜欢区域的值超过pcode的值。但是当我将此选项增加到更高(2,4或100)时,所有结果行都与前一个相同。
我希望当我增加数字时,查找表的另一行显示为其中一个匹配项,因为该行具有与客户端行相同的区域代码。
令我惊讶的是,当我第一次将选项从2增加到4时,我在模糊查找输出的4行中的2行中看到了预期结果(另一个查找记录作为匹配),但从那时起它从未再次发生,我总是看到与最大匹配数选项的不同值完全相同的记录。
任何人都可以向我解释这里发生了什么以及我做错了吗?
答案 0 :(得分:0)
来自BOL:http://msdn.microsoft.com/en-us/library/ms137786.aspx
The transformation returns zero or more matches up to the number of matches specified.
Specifying a maximum number of matches does not guarantee that the transformation
returns the maximum number of matches; it only guarantees that the transformation
returns at most that number of matches.
如果您在匹配中使用这两列,则该区域似乎有足够的不同,以至于pcode本身仍然不具有足够强的匹配性以返回任何结果。
有几种选择: