以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 怎么用分组统计不重复的行个数 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=119512) |
-- 作者:yiningyl -- 发布时间:2018/5/26 2:07:00 -- 怎么用分组统计不重复的行个数 各位,我要统计各班学生中有多少个不同民族,多少种不同政治面貌。。。用下面的统计代码,只能统计总的个数,不能去除掉重复的,怎么写才可以分组统计不重复的? Dim g As New GroupTableBuilder("统计表", DataTables("tjb")) g.Caption = "统计表" g.Groups.AddDef("grade") g.Groups.AddDef("class") g.Totals.AddDef("zb", AggregateEnum.Count, "民族个数") g.Totals.AddDef("zzmm", AggregateEnum.Count, "政治面貌种类数") .... g.VerticalTotal = True g.SubTotal = True g.Decimals = 0 g.FromServer = True g.Build()
|
-- 作者:有点蓝 -- 发布时间:2018/5/26 9:24:00 -- 试试 Dim g As New GroupTableBuilder("统计表", DataTables("tjb")) g.Caption = "统计表" g.Groups.AddDef("grade") g.Groups.AddDef("class") g.FromServer = True g.SubTotal = True g.Build() Dim t As Table = Tables("统计表") Dim dt As DataTable = t.DataTable dt.DataCols.Add("民族个数",Gettype(Integer) ) dt.DataCols.Add("政治面貌种类数",Gettype(Integer) ) dt.DataCols.Add("合计",Gettype(Integer) ,"民族个数 * 政治面貌种类数") For Each dr As DataRow In dt.DataRows dr("民族个数") = dt.SQLGetValues("zb","grade=\'" & dr("grade") & "\' And class=\'" & dr("class") & "\'") dr("治面貌种类数") = dt.SQLGetValues("zzmm","grade=\'" & dr("grade") & "\' And class=\'" & dr("class") & "\'") Next |
-- 作者:yiningyl -- 发布时间:2018/5/26 11:19:00 -- 老师,用你的方法试过了,说找不到 zb 和zzmm列 ,还报错说临时表中不能使用sqlgetvalues (这个可以改成getvalues),找不到列的错误怎么改啊, 前面我用分组统计生成的临时表”统计表"中确实是没有zb ,zzmm这些列的啊 [此贴子已经被作者于2018/5/26 11:24:50编辑过]
|
-- 作者:有点蓝 -- 发布时间:2018/5/26 11:42:00 -- For Each dr As DataRow In dt.DataRows dr("民族个数") = DataTables("tjb").SQLGetValues("zb","grade=\'" & dr("grade") & "\' And class=\'" & dr("class") & "\'") dr("治面貌种类数") = DataTables("tjb").SQLGetValues("zzmm","grade=\'" & dr("grade") & "\' And class=\'" & dr("class") & "\'") Next
|