0

我有一个包含大约 800,000 个 ID 号码(每个 11 或 13 位)的数据库。

然后我有一个包含几千个 ID 号的列表,这些 ID 号用作参考,但它们与数据库中的 ID 号不匹配 - 主要是由于客户的手指错误。这通常意味着一位数字可能会被遗漏、添加或不正确。

我正在寻找基于“相似”身份证号码的匹配 - 最好的方法是什么?

我相当精通 PowerShell 和 QLikView,但不确定使用哪个。Excel 由于记录的数量而被淘汰。

4

1 回答 1

1

这个问题在数据仓库中是众所周知的。存在一些数据质量解决方案来找出此类错误,但没有工具可以找出每一个错误。

您确定所有看起来正确ID实际上都是正确的吗?也就是说,你能说所有匹配都是好的而不是意外提供匹配吗?考虑一个拼写错误或多个拼写错误确实创建了一个有效但不正确的 ID 的情况。

不匹配的第二部分可以在某种程度上通过近似字符串匹配来解决。也就是说,不要将 ID 视为 tera 左右的值,而是考虑 11 或 13 个字符长的字符串。通过计算Levenshtein distances,您至少可以找出一些错别字。

即使使用模糊搜索,恐怕也无法修复所有损坏的 ID 代码,除非代码具有某种内置校验和或数字组成组。也就是说,数字 1-3 表示某些东西,4-7 表示别的东西,依此类推。通过查找具有无意义子组的 ID,您可能能够找出哪个子组有错误。

于 2013-12-20T17:46:15.963 回答