Foxtable(狐表)用户栏目专家坐堂 → 各科的平均分不能正确统计,请老师看一下问题在哪里


  共有3636人关注过本帖树形打印复制链接

主题:各科的平均分不能正确统计,请老师看一下问题在哪里

帅哥哟,离线,有人找我吗?
hbfnmxb
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:559 积分:6282 威望:0 精华:0 注册:2008/9/7 20:15:00
各科的平均分不能正确统计,请老师看一下问题在哪里  发帖心情 Post By:2021/11/22 21:12:00 [只看该作者]

各科的平均分不能正确统计,请老师看一下问题在哪里
Dim b As New SQLGroupTableBuilder("统计表1","学生成绩汇总表")
b.Groups.AddDef("班级")
b.Totals.AddExp("人数","学号","",AggregateEnum.Count) '统计人数
Dim nms() As String = {"语文","数学","英语","物理","政治","历史","地理","生物"}
For Each nm As String In nms '利用表达式统计及格人数和优秀人数 
    b.Totals.AddExp(nm & "_平均",AggregateEnum.Average)
    b.Totals.Addexp(nm & "_及格", "iif(" &  nm & " >= 60, 1, 0)")
    b.Totals.Addexp(nm & "_优秀", "iif(" &  nm & " >= 80, 1, 0)")
    Next
b.VerticalTotal = True
b.Build()
For Each nm As String In nms '对生成的统计表增加表达式列,计算及格率和优秀率
    DataTables("统计表1").DataCols.Add(nm & "_及格率",Gettype(Double), nm & "_及格/人数" )
    Tables("统计表1").Cols(nm & "_及格率").Move(Tables("统计表1").Cols(nm & "_及格").Index + 1)
    DataTables("统计表1").DataCols.Add(nm & "_优秀率",Gettype(Double), nm & "_优秀/人数" )
    Tables("统计表1").Cols(nm & "_优秀率").Move(Tables("统计表1").Cols(nm & "_优秀").Index + 1)
    DataTables("统计表1").DataCols(nm & "_及格率").SetFormat("0.00%")
    DataTables("统计表1").DataCols(nm & "_优秀率").SetFormat("0.00%")
Next
MainTable = Tables("统计表1")


 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110544 积分:562604 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/11/22 21:42:00 [只看该作者]

看不出,请截图举例说明什么数据不正确

 回到顶部
帅哥哟,离线,有人找我吗?
lihe60
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐神 帖子:6885 积分:43595 威望:0 精华:0 注册:2009/3/2 14:07:00
  发帖心情 Post By:2021/11/23 6:19:00 [只看该作者]

要上传附件,并说明正确的结果是什么样的

 回到顶部
帅哥哟,离线,有人找我吗?
hbfnmxb
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:559 积分:6282 威望:0 精华:0 注册:2008/9/7 20:15:00
  发帖心情 Post By:2021/11/23 7:18:00 [只看该作者]

这是代码统计的截图

图片点击可在新窗口打开查看此主题相关图片如下:66.png
图片点击可在新窗口打开查看

这是关联表统计的平均分的截图,

图片点击可在新窗口打开查看此主题相关图片如下:36.png
图片点击可在新窗口打开查看

不知问题出自哪里



 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110544 积分:562604 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/11/23 8:46:00 [只看该作者]

b.Totals.AddExp(nm & "_平均"nm, AggregateEnum.Average)

可以向Totals添加表达式统计列,语法是:

Totals.AddExp(Name, Expression)
Totals.AddExp(Name, Expression, Caption)
Totals.AddExp(Name, Expression, Aggregate)
Totals.AddExp(Name, Expression, Caption, Aggregate)

Name:      字符型,指定列名
Expression:字符型,指定表达式

Caption:   字符型,指定列标题
Aggregate: AggregateEnum枚举型,用于指定统计类型,默认是求和。


 回到顶部
帅哥哟,离线,有人找我吗?
hbfnmxb
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:559 积分:6282 威望:0 精华:0 注册:2008/9/7 20:15:00
  发帖心情 Post By:2021/11/23 8:56:00 [只看该作者]

懂了,修改成功。上个图:
图片点击可在新窗口打开查看此主题相关图片如下:56.png
图片点击可在新窗口打开查看

 回到顶部