SAP C4C的客户主数据建立时的重复检查,基于底层HANA数据库的模糊查找功能,根据扫描数据库中已有的数据检测出当前正在建立的客户主数据是否和数据库中记录有重复。算法
在系统里开启重复检查的配置:数据库
在此处配置主数据模型上每一个字段对重复性检查结果共享的权值:blog
要理解权值的做用,就必须先理解C4C客户主数据重复性检查的算法Levenshtein algorithm。这个算法以开发者Vladimir Levenshtein命名,经过计算Levenshtein(莱文斯坦)距离来衡量两个字符串的类似度。开发
看个具体例子。字符串
假设数据库里有一条主数据记录:get
Name = Carl,it
Email = jerry@sap.comio
而后在C4C UI建立一个新的客户主数据:配置
Name = Corl,im
Email = jerry@sap.com
其中Name字段的类似度为 1 - 1/4 = 75%,而Email字段类似度为100%。
而后在C4C里这两个字段的权值配置以下:
Name = 30
E-mail = 70
按照Levenshtein algorithm的公式计算重复度:
SIM = SQRT( (30² * 0.75² + 70² * 1²) / (30² + 70²) ) = 0.97 = 97%
到底重复度多少的待建立客户主数据被认为是真正的重复数据呢?能够在Business Configuration里配置:
‘Strong – Duplicate Check for Business Partners’:85%
‘Medium – Duplicate Check for Business Partners’: 80%
‘Weak – Duplicate Check for Business Partners’: 70%
要获取更多Jerry的原创文章,请关注公众号"汪子熙":