4. 历史数据质量评估方法
历史数据迁移最怕的不是“搬不过去”,而是“搬过去之后没人敢用”。要避免这种局面,必须在迁移前对源数据做一次可量化、可复现的质量评估。评估的核心不是笼统地说“数据脏”,而是把“脏”拆成可测量的维度,再用指标和抽样把结论落到具体记录上。
一、五个质量维度的定义与判定口径
在 Windchill 历史数据场景中,建议固定使用以下五个维度,并为每个维度写明判定口径,避免不同人理解不一致。
- 完整性:必填字段是否为空、关键关系是否缺失。例如物料主数据的编号、名称、单位、生命周期状态;文档的编号、版本、所属文件夹;BOM 的父子件关系。判定口径要明确“空字符串、NULL、占位符(如 N/A、待定、0000)”都算缺失。
- 准确性:字段值是否符合业务规则或参照数据。例如单位必须是有效计量单位、物料类型必须属于受控枚举、日期必须可解析且不晚于当前日期、版本号符合 A/B/C 或 1/2/3 规则。
- 一致性:同一事实在不同表、不同系统或不同版本间是否矛盾。例如物料在 ERP 与 Windchill 中的名称、单位、状态不一致;BOM 中父件版本与子件版本引用关系断裂;文档与物料关联关系指向已失效对象。
- 唯一性:是否存在重复对象或重复关系。例如同一物料编号出现多条主数据记录、同一文档编号+版本重复、同一父子件在同一 BOM 中重复出现。唯一性要区分“完全重复”和“业务主键重复”。
- 时效性:数据是否在有效期内、是否过期或长期未更新。例如生命周期状态为“已发布”但最后修改时间超过 5 年、文档版本已废止但仍被引用、物料已停用却仍出现在有效 BOM 中。
二、评估指标:从“问题数”到“可决策指标”
仅有问题条数不足以支撑迁移决策,需要把问题转化为比率和影响度。常用指标包括:
- 维度缺陷率 = 该维度问题记录数 / 抽样记录数。例如完整性缺陷率 8%,表示每 100 条抽样中有 8 条存在必填缺失。
- 对象合格率 = 五个维度均无问题的记录数 / 抽样记录数。它比单维度更严格,适合作为迁移放行门槛。
- 严重缺陷占比 = 严重问题数 / 总问题数。严重问题指会导致迁移中断、关系断裂或业务不可用的缺陷,如主键重复、BOM 循环引用、必填编号为空。
- 重复集中度 = 重复记录涉及的业务主键数 / 总业务主键数。用于判断重复是零星还是成片,成片重复往往意味着源系统存在批量导入或接口缺陷。
- 时效分布:按最后修改时间分桶统计,例如 0–1 年、1–3 年、3–5 年、5 年以上,观察过期数据的比例和集中区间。
指标计算建议按对象类型分层输出,而不是只给一个全局数字。物料、文档、BOM、变更单的缺陷模式差异很大,混在一起会掩盖真实风险。例如物料完整性问题可能集中在“单位”字段,而 BOM 问题可能集中在“子件版本引用”。
三、抽样策略:分层、分群与风险优先
历史数据量通常很大,全量评估成本高,抽样是必要手段。但抽样不能简单随机,否则容易漏掉高风险区域。推荐采用“分层 + 分群 + 风险优先”的组合策略。
分层:按对象类型分层,如物料、文档、BOM、变更单、图纸。每层独立抽样,保证每类对象都有足够样本。若某层总量很小(如变更单只有 200 条),可直接全量评估。
分群:在同一对象类型内,按来源系统、创建年份、生命周期状态、业务部门等维度分群。例如物料按“来源系统 = ERP / 手工创建 / 接口导入”分群,按“创建年份 = 2015 前 / 2015–2020 / 2020 后”分群。分群后在各群内按比例或固定数量抽样,便于发现系统性问题。
风险优先:对高风险群提高抽样比例或全量检查。高风险信号包括:来源系统即将下线、历史接口无校验日志、业务部门反馈过数据问题、该群数据将被下游系统直接消费。低风险群可降低比例,但每群至少保留 30 条样本,以便统计缺陷率。
样本量可参考以下经验值:若希望以 95% 置信度、±5% 误差估计缺陷率,且预期缺陷率约 10%,每层约需 140 条样本;若预期缺陷率更低(如 2%),则需约 300 条。实际项目中可先做 30–50 条预抽样,估算缺陷率后再调整正式样本量。
四、从评估结果到迁移决策
评估完成后,需要把指标转化为可执行的迁移策略。建议按对象类型和缺陷类型分别处理:
- 完整性缺陷:若缺失字段可由源系统补录或由业务规则推导(如单位可由物料类型默认),则先修复再迁移;若无法补录且不影响下游使用,可标记为“迁移后待完善”,但必须记录清单。
- 准确性缺陷:值域错误通常需要业务确认后修正;格式错误可批量转换,但转换规则必须版本化并留痕。
- 一致性问题:跨系统矛盾必须先确定权威源。例如物料名称以 ERP 为准还是以 Windchill 为准,需在迁移前明确,否则迁移后仍会冲突。
- 唯一性重复:完全重复可直接去重;业务主键重复需人工判定保留哪条,并建立合并映射关系,确保下游引用能正确重定向。
- 时效性问题:过期数据不一定删除,但应标记状态并限制其在新系统中的使用范围,例如已停用物料不参与新 BOM 搭建。
五、可直接使用的评估记录表示例
以下表格可作为评估执行时的记录模板,字段可根据项目调整,但建议保留“规则编号、维度、对象类型、判定表达式、抽样数、问题数、缺陷率、严重问题数、处理建议”这些核心列。
| 规则编号 | 维度 | 对象类型 | 判定表达式(示例) | 抽样数 | 问题数 | 缺陷率 | 严重问题数 | 处理建议 |
|---|---|---|---|---|---|---|---|---|
| R-COM-01 | 完整性 | 物料 | 编号 IS NULL OR 名称 IS NULL OR 单位 IS NULL | 150 | 12 | 8.0% | 3 | 缺失单位由物料类型默认值补录;编号缺失退回源系统 |
| R-ACC-02 | 准确性 | 物料 | 单位 NOT IN (有效计量单位表) | 150 | 5 | 3.3% | 0 | 批量映射到标准单位,保留原值到备注字段 |
| R-CON-03 | 一致性 | BOM | 父件版本与子件版本引用关系不存在 | 120 | 9 | 7.5% | 9 | 关系断裂,需业务确认后重建或剔除 |
| R-UNI-04 | 唯一性 | 文档 | 文档编号 + 版本 重复出现 | 100 | 4 | 4.0% | 4 | 人工判定保留主记录,建立合并映射 |
| R-TIM-05 | 时效性 | 物料 | 状态 = 已发布 AND 最后修改时间 < 5 年前 | 150 | 21 | 14.0% | 0 | 标记为“历史参考”,限制新 BOM 引用 |
这张表的价值在于:每个问题都能追溯到一条规则、一个对象类型和一个处理动作。迁移团队可以据此排优先级——严重问题先修,高缺陷率群先扩样,低风险群按计划迁移。评估不是一次性的,建议在迁移执行前、中、后各做一轮抽样,用同一套规则对比缺陷率变化,确认治理措施真正生效。