以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- [求助][讨论]两个不同分组(类似分组)的统计能放在一个统计表里吗? (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=113147) |
||||
-- 作者:jjjeyes -- 发布时间:2018/1/10 9:48:00 -- [求助][讨论]两个不同分组(类似分组)的统计能放在一个统计表里吗? 有一个数据表,需要通过两个分组(性别、年级编号)求下对应分组的人数、身高平均数、身高标准差、身高指标和 例子如下:
代码如下: 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 以上代码会得到下图 不过,现在还需要另外求得只用一个分组(年级编号)放在下面,如下图: 求解,如何修改以上代码!!!
[此贴子已经被作者于2018/1/10 9:53:31编辑过]
|
||||
-- 作者:有点甜 -- 发布时间:2018/1/10 9:57:00 -- 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 For Each fz As String In DataTables("评价结果").GetValues("年级编号") Dim r = t.addnew r("年级编号") = fz r("人数") = DataTables("评价结果").Compute("count(年级编号)", "年级编号 = \'" & fz & "\'") r("优秀人数") = DataTables("评价结果").Compute("count(年级编号)", "年级编号 = \'" & fz & "\' And 总分等级 = \'" & "优秀" & "\'") r("良好人数") = DataTables("评价结果").Compute("count(年级编号)", "年级编号 = \'" & fz & "\' And 总分等级 = \'" & "良好" & "\'") r("及格人数") = DataTables("评价结果").Compute("count(年级编号)", "年级编号 = \'" & fz & "\' And 总分等级 = \'" & "及格" & "\'") r("不及格人数") = DataTables("评价结果").Compute("count(年级编号)", "年级编号 = \'" & fz & "\' And 总分等级 = \'" & "不及格" & "\'") Next MainTable = t |
||||
-- 作者:jjjeyes -- 发布时间:2018/1/10 9:59:00 -- 感谢您的秒回!!! |