Foxtable(狐表)用户栏目专家坐堂 → [求助]如何进行判断,然后进行加权计算?


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

主题:[求助]如何进行判断,然后进行加权计算?

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2015/3/5 14:50:00 [显示全部帖子]

Dim dt As DataTable = DataTables("职称评审成绩")
Dim dt_d As DataTable = DataTables("加权计算")
dt_d.DataRows.Clear
For Each zy As String In dt.GetValues("专业组名称")
    Dim ls As List(Of String) = dt.GetValues("面试室", "专业组名称 = '" & zy & "'")
    Dim zy_sum As Double = 0
    For Each s As String In ls
        Dim dr As DataRow = dt_d.AddNew
        dr("专业组名称") = zy
        dr("面试室") = s
        Dim sum As Double = dt.Compute("sum(原始成绩)", "专业组名称 = '" & zy & "' and 面试室 = '" & s & "'")
        Dim count As Double = dt.Compute("count(原始成绩)", "专业组名称 = '" & zy & "' and 面试室 = '" & s & "'")
        dr("面试室平均值") = sum / count
        zy_sum += dr("面试室平均值")
    Next
    dt_d.ReplaceFor("加权平均值", zy_sum / ls.Count, "专业组名称 = '" & zy & "'")
Next
For Each dr As DataRow In dt_d.DataRows
    dr("加权系数") = dr("加权平均值") / dr("面试室平均值")
Next

 


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2015/3/5 14:53:00 [显示全部帖子]

 单独做一个按钮计算

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2015/3/5 15:06:00 [显示全部帖子]

 原始成绩列,改成数值列,不能是字符列。

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2015/3/5 15:08:00 [显示全部帖子]

 原始成绩,必须输入值啊。

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2015/3/5 15:12:00 [显示全部帖子]

Dim dt As DataTable = DataTables("职称评审成绩")
Dim dt_d As DataTable = DataTables("加权计算")
dt_d.DataRows.Clear
For Each zy As String In dt.GetValues("专业组名称")
    Dim ls As List(Of String) = dt.GetValues("面试室", "专业组名称 = '" & zy & "'")
    Dim zy_sum As Double = 0
    For Each s As String In ls
        Dim dr As DataRow = dt_d.AddNew
        dr("专业组名称") = zy
        dr("面试室") = s
        Dim sum As Double = dt.Compute("sum(原始成绩)", "专业组名称 = '" & zy & "' and 面试室 = '" & s & "'")
        Dim count As Double = dt.Compute("count(原始成绩)", "专业组名称 = '" & zy & "' and 面试室 = '" & s & "'")
        dr("面试室平均值") = sum / count
        zy_sum += dr("面试室平均值")
    Next
    If ls.Count > 1 Then
        dt_d.ReplaceFor("加权平均值", zy_sum / ls.Count, "专业组名称 = '" & zy & "'")
    End If
Next
For Each dr As DataRow In dt_d.DataRows
    If dr("加权平均值") <> 0 AndAlso dr("面试室平均值") <> 0 Then
        dr("加权系数") = dr("加权平均值") / dr("面试室平均值")
    End If
Next


 


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2015/3/5 15:13:00 [显示全部帖子]

 看14楼

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2015/3/5 15:21:00 [显示全部帖子]

Dim dt As DataTable = DataTables("职称评审成绩")
Dim dt_d As DataTable = DataTables("加权计算")
dt_d.DataRows.Clear
For Each zy As String In dt.GetValues("专业组名称")
    Dim ls As List(Of String) = dt.GetValues("面试室", "专业组名称 = '" & zy & "'")
    If ls.Count > 1 Then
        Dim zy_sum As Double = 0
        For Each s As String In ls
            Dim dr As DataRow = dt_d.AddNew
            dr("专业组名称") = zy
            dr("面试室") = s
            Dim sum As Double = dt.Compute("sum(原始成绩)", "专业组名称 = '" & zy & "' and 面试室 = '" & s & "'")
            Dim count As Double = dt.Compute("count(原始成绩)", "专业组名称 = '" & zy & "' and 面试室 = '" & s & "'")
            dr("面试室平均值") = sum / count
            zy_sum += dr("面试室平均值")
        Next
       
        dt_d.ReplaceFor("加权平均值", zy_sum / ls.Count, "专业组名称 = '" & zy & "'")
    End If
Next
For Each dr As DataRow In dt_d.DataRows
    If dr("加权平均值") <> 0 AndAlso dr("面试室平均值") <> 0 Then
        dr("加权系数") = dr("加权平均值") / dr("面试室平均值")
    End If
Next

 回到顶部