SQLServer进行计算平均值,计算批次损耗率=损耗比例的平均值,用于统计指标卡

文章目录

  • 引言
  • 批次损耗率=损耗比例的平均值
    • sql例子
    • 基于Java实现

引言

本文介绍了如何基于SQLServer计算批次损耗率指标,主要包括:

  • 指标定义:批次损耗率=损耗比例的平均值,数据来源于t_trace_produce_lot_loss表的loss_ratio字段,需去除百分号后计算。

  • SQL实现:

使用TRY_CAST和REPLACE处理含百分号的字符串,转为数值类型
通过ROUND(AVG(),2)计算平均值并保留两位小数
增加LTRIM/RTRIM和JOIN过滤无效批次,提升健壮性

  • Java实现:

MyBatis动态SQL构建查询条件
Service层封装时间范围查询和状态过滤逻辑

该方案兼容SQLServer 2012+,支持批量计算和异常数据处理,可直接应用于生产指标统计系统。

  • 需求:指标卡

统计批次数、完成数、实际生产设备数、待完善资料数、批次损耗率、质检合格率;完成数=有生产结束时间;有完成率=完成的批次数÷批次总数的百分比,实际生产设备=已质检合格的设备数,待完善资料数=批次中未上传资料的设备数,批次损耗率=损耗比例的平均值,质检合格率=成品+半成品合格数÷质检总数;

  • 实现:SQLServer 基于t_trace