Foxtable(狐表)用户栏目专家坐堂 → 数值分布统计方法


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

主题:数值分布统计方法

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


加好友 发短信
等级:小狐 帖子:373 积分:3107 威望:0 精华:0 注册:2015/1/30 9:47:00
数值分布统计方法  发帖心情 Post By:2017/1/17 22:41:00 [只看该作者]

我学习了下帮助里的数值分布统计方法,帮助地址:http://www.foxtable.com/webhelp/scr/2964.htm

图片点击可在新窗口打开查看

采用自定义表达式,可以方便地统计出来:

Dim b As New SQLGroupTableBuilder("统计表1","学生成绩")
b
.Groups.AddDef("科目")
b
.Totals.AddDef("分数",AggregateEnum.Max,"最高分")
b
.Totals.AddDef("分数",AggregateEnum.Min,"最低分")
b
.Totals.AddDef("分数",AggregateEnum.Average,"平均分")
b
.Totals.AddExp("分布_60以下","iif(分数 < 60,1,0)")
b
.Totals.AddExp("分布_60-70","iif(分数 >= 60 And 分数 < 70,1,0)")
b
.Totals.AddExp("分布_70-80","iif(分数 >= 70 And 分数 < 80,1,0)")
b
.Totals.AddExp("分布_80-90","iif(分数 >= 80 And 分数 < 90,1,0)")
b
.Totals.AddExp("分布_90-100","iif(分数 >= 90 And 分数 < 100,1,0)")
b
.Totals.AddExp("分布_100-110","iif(分数 >= 100 And 分数 < 110,1,0)")
b
.Totals.AddExp("分布_110-120","iif(分数 >= 110 And 分数 < 120,1,0)")
b
.Totals.AddExp("分布_120-130","iif(分数 >= 120 And 分数 < 130,1,0)")
b
.Totals.AddExp("分布_130-140","iif(分数 >= 130 And 分数 < 140,1,0)")
b
.Totals.AddExp("分布_140以上","iif(分数 >= 140,1,0)")
b
.build()
MainTable
= Tables("统计表1")

 

 

我现在还没搞懂假如我只需要统计数学和英语的,该怎么添加分组列。


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


加好友 发短信
等级:超级版主 帖子:106665 积分:542508 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2017/1/17 23:02:00 [只看该作者]

增加筛选条件即可

Dim b As New SQLGroupTableBuilder("统计表1","学生成绩")
b.Groups.AddDef("科目")
b.Totals.AddDef("分数",AggregateEnum.Max,"最高分")
b.Totals.AddDef("分数",AggregateEnum.Min,"最低分")
b.Totals.AddDef("分数",AggregateEnum.Average,"平均分")
b.Totals.AddExp("分布_60以下","iif(分数 < 60,1,0)")
b.Totals.AddExp("分布_60-70","iif(分数 >= 60 And 分数 < 70,1,0)")
b.Totals.AddExp("分布_70-80","iif(分数 >= 70 And 分数 < 80,1,0)")
b.Totals.AddExp("分布_80-90","iif(分数 >= 80 And 分数 < 90,1,0)")
b.Totals.AddExp("分布_90-100","iif(分数 >= 90 And 分数 < 100,1,0)")
b.Totals.AddExp("分布_100-110","iif(分数 >= 100 And 分数 < 110,1,0)")
b.Totals.AddExp("分布_110-120","iif(分数 >= 110 And 分数 < 120,1,0)")
b.Totals.AddExp("分布_120-130","iif(分数 >= 120 And 分数 < 130,1,0)")
b.Totals.AddExp("分布_130-140","iif(分数 >= 130 And 分数 < 140,1,0)")
b.Totals.AddExp("分布_140以上","iif(分数 >= 140,1,0)")
b.Filter = "科目 in ('数学','英语')"
b.build()
MainTable = Tables("统计表1")

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


加好友 发短信
等级:小狐 帖子:373 积分:3107 威望:0 精华:0 注册:2015/1/30 9:47:00
  发帖心情 Post By:2017/1/17 23:12:00 [只看该作者]

对哦,前面帮助有说过增加筛选,忘记了。

另外,是否可以调整帅选后的行,比如默认筛选数学在第一行,英语在第二行,语文在第三行,我需要把语文放第一行,英语放第二行,数学放第三行。

 


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


加好友 发短信
等级:超级版主 帖子:106665 积分:542508 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2017/1/17 23:18:00 [只看该作者]

增加一个排序的临时列:http://www.foxtable.com/webhelp/scr/1428.htm
给科目设置顺序,然后按顺序排序

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


加好友 发短信
等级:小狐 帖子:373 积分:3107 威望:0 精华:0 注册:2015/1/30 9:47:00
  发帖心情 Post By:2017/1/17 23:23:00 [只看该作者]

好吧,感觉会越来越复杂了。

 

能不能在增加水平分组列的时候自定义的一行一行增加,就和统计列一样,增加一个统计列并设置新的列标题以及表达式,然后再增加一个统计列并设置新的列标题和表达式。


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


加好友 发短信
等级:超级版主 帖子:106665 积分:542508 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2017/1/18 8:30:00 [只看该作者]

自己手工增加行和进行统计

 回到顶部