2

处理 MS SQL Server 2008 R2 时进行数据清理过程(重复数据删除/匹配)的选项有哪些?或者更好的是,我如何在一行的列上对匹配过程的分数进行加权?情况如下:我的数据库中有一个persons 表,其他数据库表中有关联的地址和文档?如何根据姓名、文件序列号和地址做出最佳匹配决定?据我了解,SSIS 模糊摸索不支持此功能:加权评分。

4

2 回答 2

3

我目前对 SSIS 没有太多经验 - 所以这个答案集中在您问题的重复数据删除/匹配/评分方面。

有很多方法可以实现这样的数据质量策略,所有这些方法都有优点和缺点,我认为这很大程度上取决于您现有的数据管理策略 - 您尝试重复数据删除的数据的清洁度和标准化程度如何?

如果您没有正确理解,即使是像电话号码这样的“简单”项目也很难进行重复数据删除 - 例如,所有这些都是同一号码的不同表示:

  • +1 (888) 707-8822
  • 1-888-707-8822
  • 18887078822
  • 001 888 7078822
  • 888-7078822

地址等更复杂的结构变得更加有趣:“公寓 2”和“公寓 2”是相同的东西还是不同的东西?

您有两个选择 - 让自己成为自己或信任第三方

自己做

  • 优点
    • 许多有趣的逻辑问题需要解决
    • 随着您的解决方案的增长,将能够“永远”随意调整和改进
  • 缺点
    • 这将需要很多时间。
    • 您使用的每个国家/地区都需要单独查看 - 没有可以应用的高质量“全球”规则(但当然有可以重复使用的片段)

第三者

  • 优点
    • 如果重复数据删除不是您的专长 - 让专家来做
    • 准备好立即交付价值
  • 缺点
    • 成本

无论您是走自己的路线还是第三方,我都建议您从制定明确的目标开始。

你的输入是什么:

  • 你的数据有多“干净”?
  • 你的数据有多标准化?
  • 记录如何链接在一起。
  • 地址记录是来自一个国家还是来自多个国家。

您的工作流程是什么:

  • 您需要多久运行一次此过程?
  • 您是想首先停止重复进入您的系统,还是只运行定期批量运行?

你想从项目中得到什么?

  • 您想在什么级别(文件、个人、家庭、组织 - 见下文)识别重复项
  • 你想对这些重复项做什么
    • 删除重复项并保留一份记录
    • 合并重复项以创建一个主记录
    • 这个阶段有时被称为创造“黄金”记录。决定保留哪些信息,以及忽略哪些信息。

要更详细地了解其中一些选择,请考虑以下虚拟地址:

您是否尝试将重复数据删除到家庭级别:

  • Ann Smith, 1 main st, DupeVille, MA, 12345
  • Bob Smith, 1 main street, DupeVille, MA, 12345

变得

  • Ann and Bob Smith, 1 Main St, DupeVille, MA, 12345-6789

人员级别

  • Robert Smith, 1 main st, DupeVille, MA, 12345
  • Bob Smith, 1 main street, DupeVille, MA, 12345

变得

  • 罗伯特·史密斯,1 Main St,DupeVille,MA,12345-6789

甚至是文档数据库中的 ID。

一旦你有了这个计划,它可能会帮助你决定最好的路线。如果您想自己创建它,那么您找到的链接肯定会让您处于正确的心态。如果你想去第三方 - 那里有很多供应商。只要确保你选择了你可以信任的人——他们会改变你的数据!

谷歌搜索各种供应商 - Experian Data Quality 就是其中之一(我的公司!),根据您在世界的哪个位置,您可以在此处找到最佳联系方式和更多信息:http ://www.qas.com /contact/office-locations.htm。我们有可以与 SQL Server 2008 R2 集成的工具,这些工具可以对不同的输入类型进行评分,然后自动为您消除这些重复数据或返回潜在组的集群以供您自己照顾。

制定您的计划,清楚地了解您需要从他们那里得到什么,并与他们讨论。无论您选择谁,都可以通过您的计划与您交谈,讨论您的目标并告诉您他们是否适合这份工作。

想我在那里做了一点:-)但希望这能指出你正确的方向——祝你好运!

于 2014-03-19T11:17:34.640 回答
0

如果您对多列进行模糊分组,您将获得您选择作为输入的每一列的 _similarity 信息。使用此相似性信息,您可以计算自己的阈值等。

于 2014-06-13T09:44:07.063 回答