Foxtable(狐表)用户栏目专家坐堂 → [求助]关于分组统计


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

主题:[求助]关于分组统计

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


加好友 发短信
等级:七尾狐 帖子:1691 积分:16460 威望:0 精华:0 注册:2013/7/31 13:03:00
[求助]关于分组统计  发帖心情 Post By:2013/11/21 12:48:00 [只看该作者]

要求:分组统计_直接统计后台数据_统计列为金额(表达式列) 该如何变通处理?

 


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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2013/11/21 13:32:00 [只看该作者]


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


加好友 发短信
等级:七尾狐 帖子:1691 积分:16460 威望:0 精华:0 注册:2013/7/31 13:03:00
  发帖心情 Post By:2013/11/21 13:53:00 [只看该作者]

谢谢。但是这还是不能解决”统计列不能有表达式列“的问题。

请问,如果您遇到这样问题该如何变通解决呢?


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


加好友 发短信
等级:七尾狐 帖子:1691 积分:16460 威望:0 精华:0 注册:2013/7/31 13:03:00
  发帖心情 Post By:2013/11/21 13:54:00 [只看该作者]

金额作为统计列是分组统计绕不过去的问题

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


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

呵呵,你仔细看看我贴给你的帮助啊,这两个统计工具,可以直接进行表达式统计的,例如:

 

Dim b As New SQLGroupTableBuilder("统计表1","订单")
b.
Totals.AddExp("金额","数量 * 单价 * (1-折扣)")

 

这种帮助一定要细看哦。


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


加好友 发短信
等级:七尾狐 帖子:1691 积分:16460 威望:0 精华:0 注册:2013/7/31 13:03:00
  发帖心情 Post By:2013/11/21 15:20:00 [只看该作者]

不能总说别人不仔细看帮助呀。

我要分组统计多表都有数量和金额

对于SQLGroupTableBuilder,帮助中说:

”而且要的是在三个中同名的数量和金额
所以SQLGroupTableBuilder和SQLCrossTableBuilder对于这种是无能力的,我们只能另想办法。“

 

所以我采用了帮助中的”组合多表统计结果“介绍的办法。但对各表从后台统计时,碰上了金额列
(表达式列)不能作为统计列的问题。而金额列是必须要统计的。

 

综上所述,用现有的方法都有问题的情况下,才发问请教如何变通的方法。

 


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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2013/11/21 15:25:00 [只看该作者]

之前你没有表述清楚问题,只是说不能统计表达式列的哦。

 

现在我有点无法理解你的问题了,最好做个简单明了的例子说话,让大家看看能不能解决,按道理是可以解决的。

 


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


加好友 发短信
等级:七尾狐 帖子:1691 积分:16460 威望:0 精华:0 注册:2013/7/31 13:03:00
  发帖心情 Post By:2013/11/21 16:00:00 [只看该作者]

举个简化的例子吧。

1、3个表(实际上更多),形如

  分组列    单价    数量    金额(=单价*数量) 
   a    3    2    6
   b    4    3    12

(当然除了这几列外各有不同)

 

2、各表都用分组列统计汇总数量和金额。然后组合在一起。

 

3、各表采用从后台统计,于是遇见了表达式列金额不能当做统计列的问题。

 

4、用SQLGroupTableBuilder吧,也不行。帮助中三个表都是你中无我,我中无你的,并且还有联系的纽带。它之所以可以统计金额,

如例子所示b.Totals.AddExp("金额","数量 * 单价 * (1-折扣)")金额是现算的,现炒现卖。重要的是在三个中同名的数量和金额

SQLGroupTableBuilder对此无能为力。

 

5、对于这个问题,狐表提供的方法都遇到麻烦。故而想到”变通“,比方在各表新建一个冗余列”金融1“,是数据列,将金额列的值”同步传过来“。然后将金额1作为统计列。

   就过关了。但是这个办法太”土“,还有什么好办法呢?


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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2013/11/21 16:04:00 [只看该作者]

有实物例子才好办,把文件和数据发上来吧. 
另外方法不怕土,好用就行.

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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2013/11/21 16:06:00 [只看该作者]

组合统计结果的话,同名没有关系,因为添加表达式的时候,你可以指定名称,例如:

 

.....

b1.Totals.AddExp("采购金额","数量 * 单价 * (1-折扣)")

...

b2.Totals.AddExp("销售金额","数量 * 单价 * (1-折扣)")

...

组合统计结果。

 

三个表统计出的金额,在统计表中本应该有各自的名称,否则无法区分

 

[此贴子已经被作者于2013-11-21 16:07:39编辑过]

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