有一个数据表,需要通过两个分组(性别、年级编号)求下对应分组的人数、身高平均数、身高标准差、身高指标和例子如下:
代码如下:
Dim g As New GroupTableBuilder("单项指标统计表", DataTables("评价结果"))
g.Groups.AddDef("性别")
g.Groups.AddDef("年级编号")
g.Totals.AddDef("年级编号", AggregateEnum.Count, "人数")
g.Totals.AddDef("年级编号", AggregateEnum.Count, "优秀人数")
g.Totals.AddDef("年级编号", AggregateEnum.Count, "良好人数")
g.Totals.AddDef("年级编号", AggregateEnum.Count, "及格人数")
g.Totals.AddDef("年级编号", AggregateEnum.Count, "不及格人数")
g.Totals.AddDef("身高", AggregateEnum.Average, "身高平均数")
g.Decimals = 2
g.Build()
Dim t As Table = Tables("单项指标统计表")
For Each r As Row In t.Rows
r("优秀人数") = DataTables("评价结果").Compute("count(年级编号)", "年级编号 = '" & r("年级编号") & "' And 性别 = '" & r("性别") & "' And 总分等级 = '" & "优秀" & "'")
r("良好人数") = DataTables("评价结果").Compute("count(年级编号)", "年级编号 = '" & r("年级编号") & "' And 性别 = '" & r("性别") & "' And 总分等级 = '" & "良好" & "'")
r("及格人数") = DataTables("评价结果").Compute("count(年级编号)", "年级编号 = '" & r("年级编号") & "' And 性别 = '" & r("性别") & "' And 总分等级 = '" & "及格" & "'")
r("不及格人数") = DataTables("评价结果").Compute("count(年级编号)", "年级编号 = '" & r("年级编号") & "' And 性别 = '" & r("性别") & "' And 总分等级 = '" & "不及格" & "'")
If r("性别") = "1" Then
r("性别") = "男"
Else
r("性别") = "女"
End If
Next
MainTable = t
以上代码会得到下图
此主题相关图片如下:1.jpg
不过,现在还需要另外求得只用一个分组(年级编号)放在下面,如下图:
此主题相关图片如下:2.jpg
求解,如何修改以上代码!!!
[此贴子已经被作者于2018/1/10 9:53:31编辑过]