示例二
下面的示例可以参考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