Foxtable(狐表)用户栏目专家坐堂 → 等级划分漏统数据如何处理


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

主题:等级划分漏统数据如何处理

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


加好友 发短信
等级:婴狐 帖子:15 积分:271 威望:0 精华:0 注册:2014/8/8 7:50:00
等级划分漏统数据如何处理  发帖心情 Post By:2021/2/7 18:04:00 [只看该作者]

在foxtable的安装目录CaseStudy下有一个“等级划分”示例文件,表中有分数和等级两列,根据分数从高到低进行等级划分,其中A等占10%,B等占25%,C等占40%,D等占20%,E等占5%。该示例严格按比例进行等级划分。我仔细查看了一下,A等占10%,那么这10%的最低分数为93,但划分等级时,有2个93未划为A等。若想剩下的2个93分也划为A等,该如何处理?

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


加好友 发短信
等级:超级版主 帖子:110443 积分:562081 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/2/7 20:44:00 [只看该作者]

Dim cnt As Integer = DataTables("表A").DataRows.Count

Dim vals() As Double = {0.1,0.25,0.4,0.20}
Dim tops(3) As Integer
For i As Integer = 0 To vals.length - 1
    tops(i) = Math.Floor(cnt * vals(i))
Next

Dim djs() As String = {"A","B","C","D"}
Dim drs As List (of DataRow)
For k As Integer = 0 To tops.length - 1
    drs = DataTables("表A").SQLSelect("等级 is null",tops(k), "分数 Desc")
    For i As Integer = 0 To drs.Count - 1
        drs(i)("等级") = djs(k)
    Next
    DataTables("表A").SQLUpdate(drs)
Next
DataTables("表A").SQLReplaceFor("等级","E", "等级 is null")
DataTables("表A").Load
Tables("表A").Sort = "分数 Desc"

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


加好友 发短信
等级:婴狐 帖子:15 积分:271 威望:0 精华:0 注册:2014/8/8 7:50:00
  发帖心情 Post By:2021/2/7 21:14:00 [只看该作者]

完美解决,学习了,谢谢老师!!!

 回到顶部