【发布时间】:2016-07-16 08:55:39
【问题描述】:
我正在尝试使用三个字段匹配客户:FirstName、LastName、Gender 和 DOB。据我了解,SSIS Fuzzy Lookup 仅适用于字符串(在文档中从未见过,只是一些博主这么说)所以在这种情况下,我可以以某种方式使用 DOB 来建立“信心”吗?这个工具如何比较日期?
【问题讨论】:
-
Documentation 表示它将对非 STR 列进行精确查找。为什么在进行模糊转换之前不能将 DOB 转换为字符串?
-
谢谢,我找到了摘录,由于某种原因我在第一次阅读时没有找到:“只有具有DT_WSTR和DT_STR数据类型的输入列才能用于模糊匹配。精确匹配可以使用除 DT_TEXT、DT_NTEXT 和 DT_IMAGE 之外的任何 DTS 数据类型。"
-
@ESG :“为什么我不能转换 DOB”,这将完全违背目的。紧随其后的是我引用的那个线程中的一些人。模糊匹配不会将“one”匹配到“two”,而是可以将“two”匹配到“twoo”或“twi”。它基于距离公式和常见拼写错误以及拼写错误组合。将数字转换为字符串,根本不会做任何事情,因为你永远不会出错。
-
可以理解。在这种情况下,您最好编写自己的脚本组件来自己加权不同的参数。例如,对于 DOB,我会假设月份+数据值比年份更相关。或者,DOB 列和提供的值之间的天数很重要。在任何一种情况下,脚本组件都可能为您提供最大的灵活性。
-
@ESG 这也是一个非常好的建议(使用权重) - 我将尝试编写脚本。谢谢!
标签: sql-server ssis fuzzy-search fuzzy-comparison