【问题标题】:Finding similar contact names within table在表格中查找相似的联系人姓名
【发布时间】:2014-05-09 12:13:09
【问题描述】:

我正在执行数据清理,我的任务之一是删除类似的重复联系人。

示例:

BILL CROSBIE, BILL CROSBY, BILL CROSSBY; or KRISTEN HARRIS, KRISTIN HARIS. 

因此,没有确切的规则,但是通过手动扫描,我可以看出它们非常相似,并且必须是重复的。

谁能提供我如何使用 SSIS 做到这一点的示例。

我知道我可以使用模糊查找,但它需要一个正确的参考表或参考数据,然后与需要数据清理的表进行比较。但是,是否有可能我可以使用 SSIS 中的脚本组件工具来使用获取最匹配字符的算法。那个 C# 代码会是什么样子?

我是使用 SSIS 的新手,没有太多经验。或者是否有某种我可以在 MSSQL 中创建的脚本可以做到这一点?

【问题讨论】:

  • 您可以使用 SOUNDEX 找到重复值(不是最好的方法,但在您的非常小的样本中效果很好),但是您如何知道要保留哪个重复项以及要删除哪个重复项?跨度>

标签: sql sql-server ssis


【解决方案1】:

我会使用 SSIS 模糊查找组件。我将使用您的联系人表作为参考输入,并存储新索引(有效地创建输出表)。我会配置组件的高级页面以允许多个匹配并降低相似度阈值。

执行后我会查询新的索引表,检查相似度和置信度分数。分数高于某个阈值(取决于您的数据)将表示重复。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-11
    • 2016-05-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多