2. 质量数据对象与批次结构解析

在质量数据分群与批次对比工程中,最先要解决的不是算法,而是“数据对象到底是什么”。如果批次边界模糊、质量特性口径不一、抽样层级混乱,后续的分群结果和批次对比结论都会失去可解释性。本节围绕六个核心问题展开:批次如何定义、质量特性如何分类、抽样结构如何表达、时间维度如何挂接、层次关系如何组织,以及最终如何用数据字典把这些约定固化下来。

一、批次定义:从物理批次到分析批次

批次(Batch/Lot)在制造语境中通常指在同一生产周期、同一设备、同一工艺参数、同一原材料投入下产出的一组产品。但在质量数据分析中,还需要区分三种口径:

  • 物理批次:实际生产记录中的工单号、炉号、罐号或装配批号,是追溯的最小实体。
  • 逻辑批次:为分析目的合并或拆分后的批次,例如将同一供应商连续三天的来料合并为“来料周批”,或将一个大批次按班次拆为“早班批/晚班批”。
  • 对比批次:在批次对比任务中,被选入同一对比组的批次集合,通常要求工艺路线、产品型号、测量系统一致。

定义批次时必须明确三个字段:批次标识(batch_id)、批次类型(batch_type)、批次边界依据(boundary_rule)。例如某注塑车间规定:batch_id = 工单号 + 模具号 + 班次代码;boundary_rule = “同一工单、同一模具、同一班次连续生产”。这样定义的批次才具备可复现性。

二、质量特性:分类与编码

质量特性是批次对比的分析对象。按测量方式可分为计量型(连续数值,如厚度、拉力、电阻)和计数型(离散,如缺陷数、合格/不合格)。按角色可分为关键特性(CTQ)、主要特性和一般特性。每个质量特性应至少包含:特性编码、名称、单位、数据类型、目标值、规格上下限、测量系统、采样点位置。

例如某冲压件定义:特性编码 Q-CT-001,名称“翻边高度”,单位 mm,目标值 12.50,USL=12.80,LSL=12.20,测量系统为数显高度规,采样点为每件四角。这样的结构化描述,才能支撑后续的均值漂移、方差对比和过程能力分析。

三、抽样结构:嵌套与交叉

抽样结构决定了数据的层次。常见结构有三种:

  • 嵌套抽样:批次 → 子批 → 样本 → 测量重复,下层只属于一个上层。
  • 交叉抽样:同一批次在多个时间点、多个工位被测量,形成交叉设计。
  • 分层抽样:按班次、设备、操作员分层,每层内再抽样本。

在数据表中,抽样结构通常用 sample_id、parent_id、level 三个字段表达。level 可取 batch、sublot、unit、measurement。若忽略嵌套关系,直接把所有测量值混在一起做方差分析,会把“批次间差异”和“批次内测量重复性”混淆,导致误判。

四、时间维度:事件时间与记录时间

时间维度是批次对比中最容易被忽视、却最容易造成偏差的字段。至少要区分:

  • 生产时间:产品实际被加工的时间戳。
  • 抽样时间:样本从产线取出的时间。
  • 测量时间:质量特性被检测的时间。
  • 记录时间:数据写入系统的时间。

四者可能相差数小时甚至数天。若用记录时间做趋势分析,可能把“补录”误判为“质量突变”。因此数据字典中应明确 time_basis 字段,并规定批次对比默认使用生产时间。

五、层次关系:从企业到测量值

质量数据的层次关系可抽象为:工厂 → 车间 → 产线 → 设备 → 批次 → 子批 → 样本 → 测量值。每一层都有对应的标识字段和属性字段。层次关系既可以用父子表表达,也可以用路径字段(如 plant/workshop/line/equipment/batch)扁平化存储。前者便于递归查询,后者便于快速过滤。

质量数据对象层次关系与批次结构 工厂 Plant plant_id 车间 Workshop workshop_id 产线 Line line_id 设备 Equipment equipment_id 批次 Batch batch_id 批次内部结构(以 batch_id = WO20240612-M03-A 为例) 子批 Sublot sublot_id 如:A1 / A2 / A3 样本 Sample sample_id 如:S01~S05 测量值 Measurement measure_id 如:12.48 / 12.53 时间戳 Timestamp prod_time sample_time 数据字典核心字段(示例) 标识字段 batch_id sublot_id sample_id measure_id 特性字段 char_code char_name unit / data_type target / USL / LSL 时间字段 prod_time sample_time measure_time time_basis 层次字段 parent_id level path batch_type

六、数据字典设计:把约定变成可执行规范

数据字典不是字段清单,而是对字段含义、取值规则、缺失处理和关联关系的正式约定。设计时应遵循“一字段一含义、一含义一来源”的原则。以下是一份可直接参考的批次质量数据字典示例:

字段名 含义 类型 取值/规则 是否必填
batch_id批次唯一标识字符串工单号-模具号-班次是
batch_type批次类型枚举physical / logical / compare是
char_code质量特性编码字符串Q-CT-XXX是
char_name质量特性名称字符串如翻边高度是
unit计量单位字符串mm / N / Ω是
target目标值浮点如 12.50是
USL / LSL规格上下限浮点USL > target > LSL是
sample_id样本标识字符串批次内唯一是
parent_id父节点标识字符串指向上一层是
level层次级别枚举batch/sublot/unit/measurement是
prod_time生产时间时间戳ISO 8601是
time_basis时间基准枚举prod / sample / measure / record是
value测量值浮点按特性单位是
missing_flag缺失标记布尔true / false否

有了这份字典,批次对比时就可以明确:以 batch_id 分组,以 char_code 筛选特性,以 prod_time 排序,以 level 控制聚合粒度。若某批次缺失 prod_time,则按 missing_flag 标记并排除出时间趋势分析,而不是用记录时间替代。

实践提示:批次对比前先做三项检查——批次边界是否唯一、质量特性单位是否统一、时间基准是否一致。三项中任意一项不满足,分群结果都可能被系统性偏差主导。

最后需要强调,批次结构不是静态的。随着工艺调整、设备更新或供应商变更,批次定义和层次关系可能需要修订。因此数据字典应带版本号(dict_version),并在每次批次对比报告中记录所用版本,确保分析结论可追溯、可复现。