Foxtable(狐表)用户栏目专家坐堂 → SQL server 数据源统计结果问题,请帮改改!


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

主题:SQL server 数据源统计结果问题,请帮改改!

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


加好友 发短信
等级:童狐 帖子:223 积分:1732 威望:0 精华:0 注册:2019/10/19 23:00:00
SQL server 数据源统计结果问题,请帮改改!  发帖心情 Post By:2019/10/19 23:32:00 [只看该作者]


   1、分数分布不能按班级汇总的统计,是一个学生一个学生统计的。

   2、请改为按筛选后的内容进行统计汇总,不要全部数据统计汇总(如:按学科筛选),运用菜单中的数据统计可以,用代码不行。

   3、班级的平均分名次或优秀率名次,想要筛选后的名次。

   4、成绩汇总表中的垂直汇总的结果和原数据的汇总结果不一样,请改为在筛选后垂直汇总,不要在生成成绩汇总表后汇总。

[此贴子已经被作者于2020/3/31 22:26:41编辑过]

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


加好友 发短信
等级:五尾狐 帖子:1093 积分:6682 威望:0 精华:0 注册:2013/7/1 9:05:00
  发帖心情 Post By:2019/10/20 9:21:00 [只看该作者]

请将数据表发上来,保留部分测试数据。

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


加好友 发短信
等级:童狐 帖子:223 积分:1732 威望:0 精华:0 注册:2019/10/19 23:00:00
  发帖心情 Post By:2019/10/20 10:41:00 [只看该作者]

此表是外部数据源里的,要怎样导出自测成绩表?

图片点击可在新窗口打开查看此主题相关图片如下:中心小学自测成绩表.png
图片点击可在新窗口打开查看
[此贴子已经被作者于2019/10/20 11:34:54编辑过]

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


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

b.Totals.AddExp("人数","分数","",AggregateEnum.Count) '统计人数

b.Totals.AddExp("50以下","Case When 分数 < 50   Then  1 else 0  End")

b.Totals.AddExp("50-60","Case When 分数 >= 50 And 分数 < 60   Then  1 else 0  End")


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


加好友 发短信
等级:超级版主 帖子:106092 积分:539565 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/10/20 22:02:00 [只看该作者]

筛选加条件:

b.FIlter = Tables("成绩汇总表").FIlter 
b.build()

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


加好友 发短信
等级:童狐 帖子:223 积分:1732 威望:0 精华:0 注册:2019/10/19 23:00:00
  发帖心情 Post By:2019/10/21 0:07:00 [只看该作者]

谢谢您,有点蓝老师!统计成绩分布可以。b.FIlter = Tables("成绩汇总表").FIlter ,这句是汇总后再筛选,也可以。我是想要在手动在菜单中运用目录树筛选后再汇总,看看应该怎么改(包括垂直汇总,名次。)
[此贴子已经被作者于2019/10/21 0:15:51编辑过]

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


加好友 发短信
等级:超级版主 帖子:106092 积分:539565 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/10/21 8:56:00 [只看该作者]

如果是系统的筛选树,筛选后会更改Tables("成绩汇总表").FIlter,所有仍然是5楼的额用法。如果是自己做的筛选树,把点击目录树生成筛选条件的代码搬过来即可

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


加好友 发短信
等级:童狐 帖子:223 积分:1732 威望:0 精华:0 注册:2019/10/19 23:00:00
  发帖心情 Post By:2019/10/21 22:16:00 [只看该作者]


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



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


加好友 发短信
等级:童狐 帖子:223 积分:1732 威望:0 精华:0 注册:2019/10/19 23:00:00
  发帖心情 Post By:2019/10/21 22:17:00 [只看该作者]

1、如何在列的后面插入按班级的总分排名、平均分排名、及格率、优秀率及排名。
2、在成绩汇总表的下面增加一行,统计所有一年级的总人数、各分数段分布的总人数、总分、平均分、及格人数、优秀人数。




[此贴子已经被作者于2020/3/31 22:29:24编辑过]

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


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

添加排名列:http://www.foxtable.com/webhelp/topics/1428.htm


另外上面的代码应该这样用
……
b.Totals.AddDef("分数",AggregateEnum.sum,"总分")
b.Totals.AddDef("分数",AggregateEnum.Average,"平均分")
b.FIlter = "[年级] = '一年级' And [学科] = '语文'" 
b.build()
MainTable = Tables("成绩汇总表")
Tables("成绩汇总表").SetColVisibleWidth("学校|85|年级|60|班级|40|学科|40|人数|40|50以下|50|50-60|40|60-70|40|70-80|40|80-90|40|90-100|40|总分|60|平均分|60|及格|40|优秀|40")

 回到顶部
总数 24 1 2 3 下一页