Power Query根据检核标准计算评分
现场检查,各行各业都有,评分标准也多种多样,如何根据考核标准以及扣分项来进行评分?
例子中的考核标准看起来是加油站的检核,当然不止这一项,我们就拿这一项来举例子
前面的标准一栏中会有全部的扣分标准,扣分项中显示的是检查出来的不合格项目,我们要根据扣分标准以及扣分项来计算应该扣除的分数。
我们分步来做:
首先我们要从考核标准中提取扣分分值的列表:
思路:
上面这些函数串起来:
然后把这个过程制作成一个函数fx1:
(t) => List.Transform(Lines.FromText(t),each Number.From(Text.Select(Text.End(_,5),{"0".."9"})))
然后我们来提取扣分项目列表:
如果是换行符构成的扣分列表,我们就用上面的函数就可以,不需要要修改:
又或者我们简化一下,不需要截取5个字符这一步,写个fx2函数:
(t) => List.Transform(Lines.FromText(t),each Number.From(Text.Select(_,{"0".."9"})))
然后就是计算最终评分:
我们只需要从扣分列表中超出应该扣分的项目然后求和就可以了
fx1或者fx2调用扣分项获得扣分项列表
然后历遍这个列表,取得fx1函数调用的标准生成分值列表中的对应项
List.Sum求和就可以了
因为列表的角标是从0开始的,扣分项是从1开始的,所以要x-1
当然如果要使用自定函数,给出的扣分标准以及扣分项是有要求的:
符合上述两个条件,就可以很方便地使用自定义函数来计算考核评分。
页面更新:2024-03-08
本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828
© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号