以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 后台统计中如何计算及格率? (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=67641) |
-- 作者:kgdce -- 发布时间:2015/4/28 11:25:00 -- 后台统计中如何计算及格率? Dim sg As New SQLGroupTableBuilder("算学校1",“A校”) sg.Totals.AddDef("zf",AggregateEnum.Max) sg.totals.AddDef("zf",AggregateEnum.Average) 如上,想计算及格率。分数(zf)大于等于60为及格,如何写统计的表达式列计算出用格率? |
-- 作者:Bin -- 发布时间:2015/4/28 11:27:00 -- http://www.foxtable.com/help/topics/1428.htm datatables("算学校1").datacols.add("及格率",Gettype(string),"IIF(zf>60,\'及格\',\'不及格\')")
|
-- 作者:kgdce -- 发布时间:2015/4/28 11:38:00 -- bin 理解错误,是计算后台数据库表中,总分一列中及格的人数,然后计算出及格率(及格的人数/统计的记录数AggregateEnum.Count)?不是计算已经生成的表("算学校1")中总分是否及格。 |
-- 作者:Bin -- 发布时间:2015/4/28 11:40:00 -- ACCESS数据源的话.表达式还是这么些.SQL数据源要用 case when 得整个表用SQL语句实现 |
-- 作者:狐狸爸爸 -- 发布时间:2015/4/28 11:41:00 -- sg.Totals.AddExp("及格人数",“iif(分 数 >= 60,1,0)”) sg.Totals.AddExp("不及格数",“iif(分 数 < 60,1,0)”) |
-- 作者:kgdce -- 发布时间:2015/4/28 12:07:00 -- sg.C sg.Groups.AddDef("xx") \'根据学校分组 sg.Totals.AddDef("zf",AggregateEnum.Count,"人数","人数") \'根据学校分组 sg.Totals.AddDef("zf",AggregateEnum.Max,"最高分","最高分") \'根据学校分组 sg.totals.AddDef("zf",AggregateEnum.Average,"平均分","平均分") \'根据学校分组 sg.Totals.AddExp("及格人数","iif(zf >= 60,1,0)") 适合access数据源 如何改成sql数据源的? sg.Build \'生成统计表 |
-- 作者:Bin -- 发布时间:2015/4/28 12:08:00 -- 看4楼 SQL数据源要用 Case when |
-- 作者:kgdce -- 发布时间:2015/4/28 13:02:00 -- 用case when 问题解决,谢谢! |