Foxtable(狐表)用户栏目专家坐堂 → [求助]一个人多个算法的项目该如何统计总分呢?


  共有4826人关注过本帖树形打印复制链接

主题:[求助]一个人多个算法的项目该如何统计总分呢?

帅哥哟,离线,有人找我吗?
淡笑风云
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:23 积分:244 威望:0 精华:0 注册:2019/1/23 10:56:00
[求助]一个人多个算法的项目该如何统计总分呢?  发帖心情 Post By:2019/1/31 15:18:00 [显示全部帖子]

请老师帮忙! 一个人有多个被考核项目,算法也不一样。该如何统批量计个人的总得分呢?

 回到顶部
帅哥哟,离线,有人找我吗?
淡笑风云
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:23 积分:244 威望:0 精华:0 注册:2019/1/23 10:56:00
  发帖心情 Post By:2019/1/31 15:18:00 [显示全部帖子]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:考核得分汇总表.xls


 回到顶部
帅哥哟,离线,有人找我吗?
淡笑风云
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:23 积分:244 威望:0 精华:0 注册:2019/1/23 10:56:00
  发帖心情 Post By:2019/1/31 15:18:00 [显示全部帖子]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:想要的结果.xls


 回到顶部
帅哥哟,离线,有人找我吗?
淡笑风云
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:23 积分:244 威望:0 精华:0 注册:2019/1/23 10:56:00
  发帖心情 Post By:2019/1/31 15:37:00 [显示全部帖子]

以下是引用y2287958在2019/1/31 15:28:00的发言:
文明办主任的在岗率得分规则不清晰
在岗率满分是10分,  三个科室所扣的分数相加 减去 20    


 回到顶部
帅哥哟,离线,有人找我吗?
淡笑风云
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:23 积分:244 威望:0 精华:0 注册:2019/1/23 10:56:00
回复:(有点甜)直接分组汇总,不就可以了? ...  发帖心情 Post By:2019/1/31 15:40:00 [显示全部帖子]

考核指标中 多个科室共同考核的   和单个科室考核 的算法不一致啊。
单个科室考核的可以累积。  

 回到顶部
帅哥哟,离线,有人找我吗?
淡笑风云
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:23 积分:244 威望:0 精华:0 注册:2019/1/23 10:56:00
回复:(有点甜)1、另外加一列【得分】,把得到的具体...  发帖心情 Post By:2019/1/31 16:30:00 [显示全部帖子]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:绩效管理.zip

老师,麻烦您帮我做一下。谢谢了!
为了便于您理解,我再说一下计分规则。标准分里 办公室、人事科、监察室共10分的规则。 被考核人被3个部门考核时,满分为10分。 3个部门所扣分数相加,如果大于等于10, 被考核人的此项考核不得分。
如果:
办公室  给A  打10分
人事科  给A  打10分
监察室  给A  打10分
A的满分是10分,虽说三个科室都打满分,但A只能得10分
如果:
办公室  给A  打0分
人事科  给A  打10分
监察室  给A  打10分
A的满分是10分,其他科室虽说都给A打了10分,因为办公室扣了A 10分,只能得0分  
如果  
办公室  给A  打7分
人事科  给A  打8分
监察室  给A  打9分
A的满分是10分,办公室扣了A 3分,人事科扣了A 2分,监察室扣了A 1分,所以A得了4分

 回到顶部
帅哥哟,离线,有人找我吗?
淡笑风云
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:23 积分:244 威望:0 精华:0 注册:2019/1/23 10:56:00
回复:(y2287958)[upload=table,管理项目1.table]vi...  发帖心情 Post By:2019/1/31 20:16:00 [显示全部帖子]

谢谢老师!

 回到顶部
帅哥哟,离线,有人找我吗?
淡笑风云
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:23 积分:244 威望:0 精华:0 注册:2019/1/23 10:56:00
回复:(y2287958)[upload=table,管理项目1.table]vi...  发帖心情 Post By:2019/2/13 20:12:00 [显示全部帖子]

老师,我看了下代码  有几句不是太明白我标注了一下。  我是新手,能帮忙注释一下吗?谢谢。
Dim dic As New Dictionary(Of String, Double)  
For Each dr As DataRow In DataTables("考核得分汇总表").Select("计分分类='综合'")  
    Dim key As String = dr("被考核科室")
    If dic.ContainsKey(key) = False   
        dic.Add(key,10-dr("实际得分"))
    Else
        dic(key) += 10-dr("实际得分")
    End If
Next 
For Each k As String In dic.Keys
    Output.Show(K & ":" & dic(k))
Next
Dim bm As String = "统计表1"
Dim b As New SQLGroupTableBuilder(bm,"考核得分汇总表")
b.Groups.AddDef("被考核科室")
b.Totals.AddDef("实际得分")
b.Filter = "计分分类='单项'"
b.Build
For Each dr As DataRow In DataTables(bm).DataRows
    dr("实际得分") += iif(dic(dr("被考核科室")) >= 10,0,10-dic(dr("被考核科室")))
Next
MainTable = Tables(bm)

 回到顶部
帅哥哟,离线,有人找我吗?
淡笑风云
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:23 积分:244 威望:0 精华:0 注册:2019/1/23 10:56:00
回复:(有点甜)1、看看 http://www.foxtab...  发帖心情 Post By:2019/2/15 15:00:00 [显示全部帖子]

老师,我看了几天了 还不是太明白。   
我按我自己理解的做了一下释义, 可最终执行的结果和自己理解的不一样。
麻烦老师 再帮我讲解一下,谢谢!
Dim dic As New Dictionary(Of String, Double)                                                           '定义变量 dic 为  新的 字典(键类型为字符串,值类型为双精度值)
 For Each dr As DataRow In DataTables("考核得分汇总表").Select("计分分类=   '综合'")    '显示考核得分汇总表中 包含综合的每一行
    Dim key As String = dr("被考核科室")                                                                    '定义变量 key 为 字符串  为  dr("被考核科室")

    If dic.ContainsKey(key) = False                                                                          '如果 字典中”被考核科室 “不包含”综合“ 。 
       dic.Add(key,10-dr("实际得分"))                                                                        '字典中 添加  ”被考核科室“,10-dr("实际得分") 
    Else                                                                                                                 '否则
       dic(key) += 10-dr("实际得分")                                                                         '字典中被考核科室 =被考核科室+10-dr("实际得分")
    End If                                                                                                              '结束 
 Next                                                                                                                   '下一句
 For Each k As String In dic.Keys                                                                            '设定变量k 为 字符串位于dic.Keys
    Output.Show(K & ":" & dic(k))                                                                           '显示变量K,及K值
 Next                                                                                                                   '下一句


 回到顶部
帅哥哟,离线,有人找我吗?
淡笑风云
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:23 积分:244 威望:0 精华:0 注册:2019/1/23 10:56:00
回复:(有点甜)把不重复的科室的值,存放在字典里面...  发帖心情 Post By:2019/2/18 22:09:00 [显示全部帖子]

老师,有的被考核科室 计分分类全是是单项计分的,
有的被考核科室是单项和综合计分的。 

公式引用后提示 给定关键字不在字典中。是不是缺少判断条件,该如何写呢?麻烦了老师。

Dim dic As New Dictionary(Of String, Double)  
For Each dr As DataRow In DataTables("考核得分汇总表").Select("计分分类='综合'")  
    Dim key As String = dr("被考核科室")
    If dic.ContainsKey(key) = False   
        dic.Add(key,10-dr("实际得分"))
    Else
        dic(key) += 10-dr("实际得分")
    End If
Next 
For Each k As String In dic.Keys
    Output.Show(K & ":" & dic(k))
Next
Dim bm As String = "统计表1"
Dim b As New SQLGroupTableBuilder(bm,"考核得分汇总表")
b.Groups.AddDef("被考核科室")
b.Totals.AddDef("实际得分")
b.Filter = "计分分类='单项'"
b.Build
For Each dr As DataRow In DataTables(bm).DataRows
    dr("实际得分") += iif(dic(dr("被考核科室")) >= 10,0,10-dic(dr("被考核科室")))
Next
MainTable = Tables(bm)


 回到顶部
总数 12 1 2 下一页