问题描述
就是有个工厂需要生成统计原材料的利用率,在每条数据的最后一列显示利用率。有以下几种情况1.正常用完有个原料生成出来一个产品。产品重量/原料重量2.一个原料不够,需要2个原料生成出一个产品。产品重量/原料1重量+原料2重量3.一个原料生成出2个原料。产品1重量+产品2重量/原料重量(这种情况,2个产品的数据行最后列都是显示这个除法所得结果)4.材料混用,2个原料混用生成2个产品。产品1重量+产品2重量/原料1重量+原料2重量(这种情况,2个产品的数据行最后列都是显示这个除法所得结果)小弟想破头搞不定。谢谢大家指点迷津,最好是能贴下代码,谢谢各位
解决方案
解决方案二:
按你这个图片上的列法是存在问题的,我也不知道这些规则是不是厂家给你的,你这里主要的一个问题在于,如材料A可以生成纯粹以A为原料的产品,但材料A可以跟B、C一同组合在另一种产品里头,这给你设计上带来了一些麻烦,特别是像我说的这种情况下,如果单纯统计材料A的利用率,该如何做呢?所以,我在想一个厂家生产出的产品如果是标准件,那么从工艺角度出发的话,可以对单件产品计算出各原料所占比重,如果一件产品A原料占26.5%,B占35%,C占38.5%,这样就非常有利于单个原材料的利用率计算统计,哪怕每件产品重量不一,但按其工艺比例误差不大。如果是非标产品,那么就需将各材料配件单独计重,这样也同样会简化计算,总之,要统计单个原材料的利用率,上面说的这些是一个重点,如果厂家对原材料利用率比较重视,会同意你的这一建议,当然,如果是标准件,那就很好办,基本上新产品只需要做一次测算就出来了。
解决方案三:
你这是数据库已经设计成这样了,还是这只是你的一个设想?
解决方案四:
引用2楼starfd的回复:
你这是数据库已经设计成这样了,还是这只是你的一个设想?
我是说只能统计一个总的成品率,依靠个时间区段什么的。但用户一直强调要单个的成品率,而且给了这种计算成品率的计算公式,想了很久无法解决。而且他要求是每个成品数据都要有一个成品率,连groupby原料这样也无法使用。真的束手无策
解决方案五:
引用1楼ajianchina的回复:
按你这个图片上的列法是存在问题的,我也不知道这些规则是不是厂家给你的,你这里主要的一个问题在于,如材料A可以生成纯粹以A为原料的产品,但材料A可以跟B、C一同组合在另一种产品里头,这给你设计上带来了一些麻烦,特别是像我说的这种情况下,如果单纯统计材料A的利用率,该如何做呢?所以,我在想一个厂家生产出的产品如果是标准件,那么从工艺角度出发的话,可以对单件产品计算出各原料所占比重,如果一件产品A原料占26.5%,B占35%,C占38.5%,这样就非常有利于单个原材料的利用率计算统计,哪怕每件产品重量不一,但按其工艺比例误差不大。如果是非标产品,那么就需将各材料配件单独计重,这样也同样会简化计算,总之,要统计单个原材料的利用率,上面说的这些是一个重点,如果厂家对原材料利用率比较重视,会同意你的这一建议,当然,如果是标准件,那就很好办,基本上新产品只需要做一次测算就出来了。
我也觉得用户的要求不合理,原料的用量只有一个原始质量,下级没有传我们具体数据。而且他们的利用率是显示在成品详细信息表,而不是原料表。感觉整个想法就有问题。但是当时售前谈的时候,把我们底线放太低了,导致我们现在提什么都要解决。
解决方案六:
我默默的设计了一套多对多的表然后发现最后一种计算逻辑似乎有点儿问题。。。
解决方案七:
引用5楼xboxeer的回复:
我默默的设计了一套多对多的表然后发现最后一种计算逻辑似乎有点儿问题。。。
前三种ok了?不介意的话贴下。谢谢
解决方案八:
还是强调那一点:一件产品由不同原材料组成,你根本不知配比,居然想给他们做单一原材料利用率的统计,你这不是在开玩笑吧?还是厂家在逗你玩?居然还给他们想破脑袋找方法,你告诉他们要么就是总数统计,要么就是给你配比值,配比值做取样平均值。
解决方案九:
当然,还有一个办法就是细分到零配件,单一材料零配件,不以产品重量作为分子,以零配件组合重量作为分子。a配件平均重量:1kgb配件平均重量:1.5kgc配件平均重量:0.8kg产品1(a配件+b配件+c配件)*2件产品2(a配件+b配件)*25件产品3(b配件+c配件)*12件你不要按单件产品总重去按零件之间的重量来算比例,这样会产生累计误差,你应该是一票货来做统计表的,你将先将整批货的总重作为目标,用数据库中单个零配件重量的相互比例与整票货来乘,就取出了单一零配件在整票货中的重量,你按材料分类后跟消耗的原材料一比就得出了单一材料利用率。