Foxtable(狐表)用户栏目专家坐堂 → 求助:统计方法


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

主题:求助:统计方法

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


加好友 发短信
等级:童狐 帖子:277 积分:2328 威望:0 精华:0 注册:2015/4/5 16:28:00
求助:统计方法  发帖心情 Post By:2015/5/30 18:21:00 [显示全部帖子]

请教:

 不想在表中增加天数的统计字段,如何做啊?


图片点击可在新窗口打开查看此主题相关图片如下:天数统计.jpg
图片点击可在新窗口打开查看
[此贴子已经被作者于2015/5/30 19:29:49编辑过]

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


加好友 发短信
等级:童狐 帖子:277 积分:2328 威望:0 精华:0 注册:2015/4/5 16:28:00
  发帖心情 Post By:2015/5/31 9:20:00 [显示全部帖子]

不是生成吧?是原表中有表达式列进行统计的吧?

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


加好友 发短信
等级:童狐 帖子:277 积分:2328 威望:0 精华:0 注册:2015/4/5 16:28:00
  发帖心情 Post By:2015/5/31 9:27:00 [显示全部帖子]

因为我的表现在已经有350列了,太大了,担心一旦有问题不好处理,想用查询或临时表的方式进行统计,或另建一个结构相同的表,用一个列关联,分段保存数据也行,但没有找到办法,有高人指点一下吗?


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


加好友 发短信
等级:童狐 帖子:277 积分:2328 威望:0 精华:0 注册:2015/4/5 16:28:00
  发帖心情 Post By:2015/5/31 12:11:00 [显示全部帖子]

Dim b As New SQLGroupTableBuilder("统计表1","业务流程表")
b.Groups.AddDef("报告编号")  '一个报告编号为一个项目
b.Totals.AddExp("检验_天数","DateDiff(d, 检验开始日期, 检验完成日期)")
b.Totals.AddDef("样品数量") '对数量进行统计
b.Build

Tables("任务统计窗口_Table2").DataSource = b.BuildDataSource()


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

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


加好友 发短信
等级:童狐 帖子:277 积分:2328 威望:0 精华:0 注册:2015/4/5 16:28:00
  发帖心情 Post By:2015/5/31 12:20:00 [显示全部帖子]

确定后:
图片点击可在新窗口打开查看此主题相关图片如下:无标题.jpg
图片点击可在新窗口打开查看

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


加好友 发短信
等级:童狐 帖子:277 积分:2328 威望:0 精华:0 注册:2015/4/5 16:28:00
  发帖心情 Post By:2015/5/31 13:41:00 [显示全部帖子]

这个统计正常:

Dim b1 As New CrossTableBuilder("统计表1",DataTables("业务流程表"))
Dim d1 As fxDataSource
'b1.Filter = FilterDate1
b1.HGroups.AddDef("报告编号") '添加列用于水平分组
b1.HGroups.AddDef("产品分类") '添加列用于水平分组
b1.VGroups.AddDef("受理日期",DateGroupEnum.Month,"受理_{0}月")
b1.Totals.AddDef("受理日期",AggregateEnum.Count,"受理_数量")
'b1.VerticalTotal= True '垂直汇总
'b1.HorizontalTotal = True '水平汇总
d1 = b1.BuildDataSource()
Tables("任务统计窗口_Table2").DataSource = b1.BuildDataSource()

 

这个就不正常:

Dim b1 As New SQLCrossTableBuilder("统计表1","业务流程表")

Dim d1 As fxDataSource
'b1.Filter = FilterDate1
b1.HGroups.AddDef("报告编号") '添加列用于水平分组
b1.HGroups.AddDef("产品分类") '添加列用于水平分组
b1.VGroups.AddDef("受理日期",DateGroupEnum.Month,"受理_{0}月")
b1.Totals.AddDef("受理日期",AggregateEnum.Count,"受理_数量")
'b1.VerticalTotal= True '垂直汇总
'b1.HorizontalTotal = True '水平汇总
d1 = b1.BuildDataSource()
Tables("任务统计窗口_Table2").DataSource = b1.BuildDataSource()

 

为什么?


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


加好友 发短信
等级:童狐 帖子:277 积分:2328 威望:0 精华:0 注册:2015/4/5 16:28:00
  发帖心情 Post By:2015/5/31 14:40:00 [显示全部帖子]

 解决了,需要指定数据源:b1.C

谢谢指点!


[此贴子已经被作者于2015/5/31 14:40:51编辑过]

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


加好友 发短信
等级:童狐 帖子:277 积分:2328 威望:0 精华:0 注册:2015/4/5 16:28:00
  发帖心情 Post By:2015/5/31 14:45:00 [显示全部帖子]

这句代码发不上去,其实在其它贴子上已看到了,但没有引起注意,提醒一下吧,用外部数据源要先指定,否则不能运行。


 回到顶部