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