以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  分组统计  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=92417)

--  作者:133198609
--  发布时间:2016/11/3 1:18:00
--  分组统计

Dim b As New CrossTableBuilder("统计表1",DataTables("订单"))

b.HGroups.AddDef("客户") \'添加客户列用于水平分组

b.VGroups.AddDef("产品") \'添加产品列用于垂直分组

b.Totals.AddDef("数量") \'添加数量列用于统计
b.Totals.AddDef("金额")
\'添加数量列用于统计

b
.Build \'生成统计表
Maintable = Tables("统计表1") \'打开生成的统计表


这是交叉统计的代码,我现在想:

水平分组是客户,但是垂直分组只统计“ 产品 = pd01 ” 和 “产品 = pd02”的数量,不需要统计03、04、05等等的,该怎么改?


--  作者:有点蓝
--  发布时间:2016/11/3 8:42:00
--  
Dim b As New CrossTableBuilder("统计表1",DataTables("订单"))
b.HGroups.AddDef("客户") \'添加客户列用于水平分组
b.VGroups.AddDef("产品") \'添加产品列用于垂直分组
b.Totals.AddDef("数量") \'添加数量列用于统计
b.Totals.AddDef("金额") \'添加数量列用于统计
b.Filter = "产品 in (\'pd01\',\'pd02\')"
b.Build \'生成统计表
MainTable = Tables("统计表1") \'打开生成的统计表

--  作者:133198609
--  发布时间:2016/11/3 8:44:00
--  
谢谢!
--  作者:133198609
--  发布时间:2016/11/3 15:43:00
--  
出现了新的问题:
假设统计表是这样的:
               pd01    pd02    pd03     其他1   其他2
分组1          25        20         30      20       10
分组2          8          9             7        6        5     
分组3          21        25           28       20         20
分组4           0          0             25        12      1


如果加入  b.Filter = "产品 in (\'PD01\',\'PD02\')" 的话,那分组4直接就没了。



--  作者:133198609
--  发布时间:2016/11/3 15:56:00
--  

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:测试1.rar

 

如事例,需要得到第二张统计表如何实现,如果帮助有这一章,可以直接发链接,我自己学习……


--  作者:有点蓝
--  发布时间:2016/11/3 16:57:00
--  
只能手工统计了