Foxtable(狐表)用户栏目专家坐堂 → CaseStudy目录下的文件:等级划分.Table


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

主题:CaseStudy目录下的文件:等级划分.Table

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


加好友 发短信
等级:五尾狐 帖子:1182 积分:8225 威望:0 精华:0 注册:2015/3/30 10:44:00
CaseStudy目录下的文件:等级划分.Table  发帖心情 Post By:2018/4/3 17:46:00 [只看该作者]

示例二

下面的示例可以参考CaseStudy目录下的文件:等级划分.Table

假定有一个表,有分数和等级两列,
要根据分数从高到低进行等级划分,其中A等占10%,B等占25%,C等占40%,D等占20%,E等占5%。

代码为:

Dim vals() As Double = {0.1,0.35,0.75,0.95}------不是很清楚这个数组是怎么个意思?请帮忙说明一下这个例子。
Dim
cnt As Integer = DataTables("表A").DataRows.Count '得到总行数
Dim
drs As List (of DataRow) = DataTables("表A").Select("", "分数 Desc") '得到按分数高低排列的行的集合.
For
i As Integer = 0 To drs.Count - 1
    Dim v As Double  = i /cnt 
'
计算位置比例
    If v > vals(3) Then
        drs(i)(
"
等级") = "E"
    ElseIf v > vals(2) Then
        drs(i)(
"
等级") = "D"
    ElseIf v > vals(1) Then
        drs(i)(
"
等级") = "C"
    ElseIf v > vals(0) Then
        drs(i)(
"
等级") = "B"
   
Else
        drs(i)("等级") = "A"
    End
If


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


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

首先,select的时候,根据分数从高到低排序了数据。

 

然后,加入有100个学生,那么 1-10 排名的,就是满足小于0.1 的比例; 10-35排名的,就是0.35也就是B等级 ......


 回到顶部