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 条预抽样,估算缺陷率后再调整正式样本量。

历史数据质量评估:维度 → 指标 → 抽样 → 判定 质量维度 完整性 必填/关系缺失 准确性 值域/格式/规则 一致性 跨表/跨系统矛盾 唯一性 重复主键/关系 时效性 过期/长期未更新 评估指标 维度缺陷率 问题数 / 抽样数 对象合格率 五维全通过 / 抽样数 严重缺陷占比 严重问题 / 总问题 重复集中度 重复主键 / 总主键 时效分布 按最后修改时间分桶 抽样策略与判定 ① 分层 按对象类型:物料 / 文档 / BOM / 变更单 / 图纸 每层独立抽样,小层全量 ② 分群 来源系统 / 创建年份 / 生命周期状态 / 业务部门 群内按比例或固定数量抽样 ③ 风险优先 高风险群提高比例或全量:接口导入、无校验日志、下游直连 低风险群每群至少 30 条 ④ 样本量参考 预期缺陷率 10% → 每层约 140 条;预期 2% → 约 300 条 ⑤ 判定门槛(示例) 对象合格率 ≥ 95% 且严重缺陷占比 ≤ 1% 方可放行 评估结果按对象类型分层输出,避免全局平均值掩盖局部风险

四、从评估结果到迁移决策

评估完成后,需要把指标转化为可执行的迁移策略。建议按对象类型和缺陷类型分别处理:

  • 完整性缺陷:若缺失字段可由源系统补录或由业务规则推导(如单位可由物料类型默认),则先修复再迁移;若无法补录且不影响下游使用,可标记为“迁移后待完善”,但必须记录清单。
  • 准确性缺陷:值域错误通常需要业务确认后修正;格式错误可批量转换,但转换规则必须版本化并留痕。
  • 一致性问题:跨系统矛盾必须先确定权威源。例如物料名称以 ERP 为准还是以 Windchill 为准,需在迁移前明确,否则迁移后仍会冲突。
  • 唯一性重复:完全重复可直接去重;业务主键重复需人工判定保留哪条,并建立合并映射关系,确保下游引用能正确重定向。
  • 时效性问题:过期数据不一定删除,但应标记状态并限制其在新系统中的使用范围,例如已停用物料不参与新 BOM 搭建。
抽样评估的结论只能代表样本,不能直接等同于全量。若抽样发现严重缺陷占比超过 1%,建议对同群数据扩大抽样或全量扫描,避免迁移后集中爆发问题。

五、可直接使用的评估记录表示例

以下表格可作为评估执行时的记录模板,字段可根据项目调整,但建议保留“规则编号、维度、对象类型、判定表达式、抽样数、问题数、缺陷率、严重问题数、处理建议”这些核心列。

规则编号 维度 对象类型 判定表达式(示例) 抽样数 问题数 缺陷率 严重问题数 处理建议
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 引用

这张表的价值在于:每个问题都能追溯到一条规则、一个对象类型和一个处理动作。迁移团队可以据此排优先级——严重问题先修,高缺陷率群先扩样,低风险群按计划迁移。评估不是一次性的,建议在迁移执行前、中、后各做一轮抽样,用同一套规则对比缺陷率变化,确认治理措施真正生效。