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


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

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

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


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

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

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


加好友 发短信
等级:五尾狐 帖子:1142 积分:8846 威望:0 精华:0 注册:2012/7/10 9:09:00
  发帖心情 Post By:2015/3/5 15:09:00 [只看该作者]

一个专业名称的,不进行加权计算,但数学也进行了计算,怎么不让他计算,如图:
图片点击可在新窗口打开查看此主题相关图片如下:截图02.png
图片点击可在新窗口打开查看

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


加好友 发短信
等级:五尾狐 帖子:1142 积分:8846 威望:0 精华:0 注册:2012/7/10 9:09:00
  发帖心情 Post By:2015/3/5 15:11:00 [只看该作者]

全改为高精确度后,还是出现上述错误。


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  14楼 | 信息 | 搜索 | 邮箱 | 主页 | 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


 


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


加好友 发短信
等级:五尾狐 帖子:1142 积分:8846 威望:0 精华:0 注册:2012/7/10 9:09:00
  发帖心情 Post By:2015/3/5 15:12:00 [只看该作者]

一个专业名称的,只有一个面试室的不进行加权计算。怎么改代码。

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


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

 看14楼

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


加好友 发短信
等级:五尾狐 帖子:1142 积分:8846 威望:0 精华:0 注册:2012/7/10 9:09:00
  发帖心情 Post By:2015/3/5 15:15:00 [只看该作者]

谢谢,你真棒,赞一个

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


加好友 发短信
等级:五尾狐 帖子:1142 积分:8846 威望:0 精华:0 注册:2012/7/10 9:09:00
  发帖心情 Post By:2015/3/5 15:16:00 [只看该作者]

要是不进行加权计算的,专业名称等列不显示就好了,不知道能不能做到?

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  19楼 | 信息 | 搜索 | 邮箱 | 主页 | 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

 回到顶部
总数 19 上一页 1 2