Dim g As New sqlGroupTableBuilder("统计表1", "小生表")
Dim dt1 As Table = Tables("期末_table6")
DataTables("师表").loadfilter = ""
DataTables("师表").load
g.Groups.AddDef("考试名称")
g.Groups.AddDef("学校")
g.Groups.AddDef("年级")
g.Groups.AddDef("类别")
g.Groups.AddDef("学校班级")
g.Totals.AddDef("姓名",AggregateEnum.Count,"参考数")
g.Totals.AddDef("语文",AggregateEnum.Average,"语文_人平")
g.Totals.AddDef("数学",AggregateEnum.Average,"数学_人平")
g.Totals.AddDef("英语",AggregateEnum.Average,"英语_人平")
g.Totals.AddDef("政治",AggregateEnum.Average,"政治_人平")
g.Totals.AddDef("历史",AggregateEnum.Average,"历史_人平")
g.Totals.AddDef("物理",AggregateEnum.Average,"物理_人平")
g.Totals.AddDef("化学",AggregateEnum.Average,"化学_人平")
g.Totals.AddDef("生物",AggregateEnum.Average,"生物_人平")
g.Totals.AddDef("地理",AggregateEnum.Average,"地理_人平")
g.Totals.AddDef("总分",AggregateEnum.Average,"总分_人平")
g.Totals.AddExp("语文_优数", "case when convert(int,年级)<7 and 语文>=85 then 1 when convert(int,年级)>=7 and 语文>=80 then 1 else 0 end", AggregateEnum.Count)
dt1.DataSource = g.BuildDataSource()
dt1.DataTable.DataCols.Add("班级排名",Gettype(Integer))
dt1.DataTable.DataCols.Add("语文_教师",Gettype(String))
dt1.DataTable.DataCols.Add("数学_教师",Gettype(String))
dt1.DataTable.DataCols.Add("英语_教师",Gettype(String))
dt1.DataTable.DataCols.Add("政治_教师",Gettype(String))
dt1.DataTable.DataCols.Add("历史_教师",Gettype(String))
dt1.DataTable.DataCols.Add("物理_教师",Gettype(String))
dt1.DataTable.DataCols.Add("化学_教师",Gettype(String))
dt1.DataTable.DataCols.Add("生物_教师",Gettype(String))
dt1.DataTable.DataCols.Add("地理_教师",Gettype(String))
dt1.DataTable.DataCols.Add("语文_优秀率",Gettype(Double),"语文_优数 / 参考数")
因为年级字段是string,我又改了下,g.FromServer = True也去了,结果还一样,