Foxtable(狐表)用户栏目专家坐堂 → 关于专业统计工具的问题


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

主题:关于专业统计工具的问题

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


加好友 发短信 一级勋章
等级:版主 帖子:1993 积分:19409 威望:0 精华:20 注册:2008/9/2 10:09:00
关于专业统计工具的问题  发帖心情 Post By:2011/6/20 17:33:00 [只看该作者]

分组列和统计列,只要是表达式,统计完成后都跑到后面去了:


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

代码是这样的(用的组合统计结果中的示例数据):

Dim b As New SQLGroupTableBuilder("统计表1","进货单")
b.Groups.AddExp("大类","Iif(InStr(型号,'X')>0,'X系列','其它系列')")    '
b.Groups.AddDef("型号")
b.Totals.AddExp("金额","数量 * 单价")
b.Totals.AddDef("数量")
Tables("窗口3_Table1").DataSource  = b.BuildDataSource

比如用表达式生成的“大类”列,肯定是放在“型号”列前面才是正确的。


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


加好友 发短信
等级:管理员 帖子:47477 积分:251256 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/6/20 17:37:00 [只看该作者]

收到

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


加好友 发短信
等级:超级版主 帖子:521 积分:4910 威望:0 精华:7 注册:2008/9/2 22:22:00
  发帖心情 Post By:2011/6/20 17:38:00 [只看该作者]

这是狐表的通病.

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


加好友 发短信
等级:超级版主 帖子:521 积分:4910 威望:0 精华:7 注册:2008/9/2 22:22:00
  发帖心情 Post By:2011/6/20 17:42:00 [只看该作者]

目前这样:
Dim b As New SQLGroupTableBuilder("统计表1","进货单")
b.Groups.AddExp("大类","Iif(InStr(型号,'X')>0,'X系列','其它系列')")    '
b.Groups.AddEXP("型号","型号")
b.Totals.AddExp("金额","数量 * 单价")
b.Totals.AddEXP("数量","数量")
Tables("窗口3_Table1").DataSource  = b.BuildDataSource

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


加好友 发短信
等级:管理员 帖子:47477 积分:251256 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/6/20 17:46:00 [只看该作者]

你真够狡猾的。图片点击可在新窗口打开查看

 

 


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


加好友 发短信 一级勋章
等级:版主 帖子:1993 积分:19409 威望:0 精华:20 注册:2008/9/2 10:09:00
  发帖心情 Post By:2011/6/20 17:49:00 [只看该作者]

以下是引用ybil在2011-6-20 17:42:00的发言:
目前这样:
Dim b As New SQLGroupTableBuilder("统计表1","进货单")
b.Groups.AddExp("大类","Iif(InStr(型号,'X')>0,'X系列','其它系列')")    '
b.Groups.AddEXP("型号","型号")
b.Totals.AddExp("金额","数量 * 单价")
b.Totals.AddEXP("数量","数量")
Tables("窗口3_Table1").DataSource  = b.BuildDataSource

哈哈,还不如干脆取消AddDef算了,省的看帮助头晕


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


加好友 发短信
等级:超级版主 帖子:521 积分:4910 威望:0 精华:7 注册:2008/9/2 22:22:00
  发帖心情 Post By:2011/6/20 17:51:00 [只看该作者]

以下是引用狐狸爸爸在2011-6-20 17:46:00的发言:

你真够狡猾的。图片点击可在新窗口打开查看

 

呵呵,活人不能让屎尿敝死!

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


加好友 发短信
等级:超级版主 帖子:521 积分:4910 威望:0 精华:7 注册:2008/9/2 22:22:00
  发帖心情 Post By:2011/6/20 18:08:00 [只看该作者]

以下是引用reachtone在2011-6-20 17:49:00的发言:

哈哈,还不如干脆取消AddDef算了,省的看帮助头晕

非常有道理:如AddDef与AddExp效率一样,不如就R版所言:

取消AddDef

但最好能这样:
Dim b As New SQLGroupTableBuilder("统计表1","进货单")
b.Groups.AddExp("大类","Iif(InStr(型号,'X')>0,'X系列','其它系列')")    '
b.Groups.AddEXP("型号")
b.Totals.AddExp("金额","数量 * 单价")
b.Totals.AddEXP("数量")
Tables("窗口3_Table1").DataSource  = b.BuildDataSource

[此贴子已经被作者于2011-6-20 18:08:37编辑过]

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


加好友 发短信
等级:管理员 帖子:47477 积分:251256 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/6/20 18:11:00 [只看该作者]

不能取消的,因为要保持和以前的代码兼容。

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


加好友 发短信 一级勋章
等级:版主 帖子:1993 积分:19409 威望:0 精华:20 注册:2008/9/2 10:09:00
  发帖心情 Post By:2011/6/20 18:15:00 [只看该作者]

问题很严重,还是用“组合统计结果”中的示例数据,运行以下代码:

 

Dim b As New SQLGroupTableBuilder("统计表1","进货单")
b.AddTable("进货单","型号","销售单","型号") '添加统计表
b.Groups.AddExp("大类","Iif(InStr({进货单}.型号,'X')>0,'X系列','其它系列')")
b.Groups.AddExp("型号","{进货单}.型号")
b.Totals.AddExp("金额","{进货单}.数量 * {进货单}.单价","进货金额_值")
b.Totals.AddExp("数量1","{进货单}.数量","进货数量_值")
b.Totals.AddExp("数量2","{销售单}.数量","销售数量_值")
'b.GroupProportion = True
'b.GrandProportion = True
'b.VerticalTotal = True
Tables("窗口3_Table1").DataSource  = b.BuildDataSource

 

不但存在ybil版主所说的仅是内部关联的问题,就连统计结果也是错误的!(如果把AddTable去掉,统计结果正常)


 回到顶部
总数 19 1 2 下一页