Foxtable(狐表)用户栏目专家坐堂 → SQLCrossTableBuilder按日期统计时有点小问题


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

主题:SQLCrossTableBuilder按日期统计时有点小问题

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


加好友 发短信 一级勋章
等级:版主 帖子:1993 积分:19409 威望:0 精华:20 注册:2008/9/2 10:09:00
SQLCrossTableBuilder按日期统计时有点小问题  发帖心情 Post By:2012/3/23 15:58:00 [显示全部帖子]

Dim g As New SQLCrossTableBuilder("统计表","明细数据")
g.C
g.HGroups.AddDef("日期", DateGroupEnum.None)
g.VGroups.AddDef("部门")
g.Totals.AddDef("数量", "数量")
g.VerticalTotal = True
g.Build()
MainTable = Tables("统计表")

 

重点在标出红线的那行代码,只要统计垂直汇总值,日期就变成这样了(取消此行正常!):


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


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


加好友 发短信 一级勋章
等级:版主 帖子:1993 积分:19409 威望:0 精华:20 注册:2008/9/2 10:09:00
  发帖心情 Post By:2012/3/23 16:23:00 [显示全部帖子]

以下是引用狐狸爸爸在2012-3-23 16:01:00的发言:

改为用汇总模式吧:

 

Dim g As New SQLCrossTableBuilder("统计表","明细数据")
g.HGroups.AddDef("日期", DateGroupEnum.None)
g.VGroups.AddDef("部门")
g.Totals.AddDef("数量", "数量")
g.Subtotal = True
g.Build()
MainTable = Tables("统计表")

呵呵,生成汇总模式也不错,还可以展开目录树分级查看。如果用代码怎么写(打开目录树和关闭目录树)?


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


加好友 发短信 一级勋章
等级:版主 帖子:1993 积分:19409 威望:0 精华:20 注册:2008/9/2 10:09:00
  发帖心情 Post By:2012/3/26 14:11:00 [显示全部帖子]

一楼问题仍然无解,对于通过BuildDataSource方法生成的统计结果,汇总模式无效。还是修正一下吧。。

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


加好友 发短信 一级勋章
等级:版主 帖子:1993 积分:19409 威望:0 精华:20 注册:2008/9/2 10:09:00
  发帖心情 Post By:2012/3/26 14:23:00 [显示全部帖子]

晕,就为了日期的显示问题,要多写这么多代码,不必要吧?

能不能改一下SQLCrossTableBuilder,日期列就只按Date统计?


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


加好友 发短信 一级勋章
等级:版主 帖子:1993 积分:19409 威望:0 精华:20 注册:2008/9/2 10:09:00
  发帖心情 Post By:2012/3/26 14:42:00 [显示全部帖子]

SQLCrossTableBuilder最终也都是通过生成sql语句完成统计的,转换一下日期的类型应该是很简单的事。

在没解决之前,只好先不使用VerticalTotal属性了,自己通过代码增加合计行。


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


加好友 发短信 一级勋章
等级:版主 帖子:1993 积分:19409 威望:0 精华:20 注册:2008/9/2 10:09:00
  发帖心情 Post By:2012/3/26 15:04:00 [显示全部帖子]

呵呵,这个我已经发现了,通过代码AddNew以后,就象分组统计一样,不再加“合计”两字,这样就没问题了。

问题是,如果VGroups也用日期分组,列名同样带00:00:00,这个就不好办了,除非再全部Caption,很麻烦。

[此贴子已经被作者于2012-3-26 15:05:36编辑过]

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


加好友 发短信 一级勋章
等级:版主 帖子:1993 积分:19409 威望:0 精华:20 注册:2008/9/2 10:09:00
  发帖心情 Post By:2012/3/26 15:09:00 [显示全部帖子]

分组统计,如果是按日期列分组,就没有加合计。

交叉统计建议也采用同样的方法,这样就ok了,而且两种统计的风格也统一起来了。


 回到顶部