以文本方式查看主题

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

--  作者:jick0526
--  发布时间:2017/4/27 16:46:00
--  分组统计问题
老师,请问下,在分组统计里面,分组列是“已出售”和“未出售”列,统计列是客户列,怎样可以统计出已出售有多少个客户,未出售有多少个客户,我要的只是记录数,不要汇总,因为是字符型的。
--  作者:有点色
--  发布时间:2017/4/27 16:51:00
--  

 你有一列还是两列?【已出售】一列、【未出售】一列?为什么要分开?用一列不行?

 

 如果用一列的话,你可以用表达式列统计,如 http://www.foxtable.com/webhelp/scr/2960.htm

 


--  作者:jick0526
--  发布时间:2017/4/27 17:01:00
--  
是两列,我写已出售未出售只是个样本,两列是不同类型的列,想查出各占的客户有多少个,一列可以直接跳出记录数,两列就不行了,有没有办法两列都显示记录数?
--  作者:有点色
--  发布时间:2017/4/27 17:04:00
--  
以下是引用jick0526在2017/4/27 17:01:00的发言:
是两列,我写已出售未出售只是个样本,两列是不同类型的列,想查出各占的客户有多少个,一列可以直接跳出记录数,两列就不行了,有没有办法两列都显示记录数?

 

一样可以,表达式改一改就行了,比如

 

Dim b As New  SQLGroupTableBuilder("统计表1","名单")
b.Groups.Adddef("居民组")
b.Totals.Adddef("姓名",AggregateEnum.Count,"总人数")
b.Totals.Addexp("已出售","iif(已出售 Is null,0,1)")
 b.Totals.Addexp("未出售","iif(未出售 Is null,0,1)")

 b.Build
 MainTable = Tables("统计表1")

[此贴子已经被作者于2017/4/27 17:04:43编辑过]

--  作者:jick0526
--  发布时间:2017/4/27 17:09:00
--  
老师,那这表达式放哪,分组统计的条件里面吗?


--  作者:jick0526
--  发布时间:2017/4/27 17:26:00
--  
Dim b As New  SQLGroupTableBuilder("统计表1","表A")
b.Groups.Adddef("表A")
b.Totals.Adddef("客户列",AggregateEnum.Count,"总人数")
b.Totals.Addexp("第一列","iif(第一列 Is null,0,1)")
 b.Totals.Addexp("第二列","iif(第二列 Is null,0,1)")
 b.Build 
 MainTable = Tables("统计表1")
老师,这代码该怎么改啊,我在菜单做了个按钮,但是跳出说表A循环错误

--  作者:有点色
--  发布时间:2017/4/27 17:32:00
--  

你的第一列、第二列,存放的是什么内容?尽量做个实例发上来看看。

 

先试试

 

Dim b As New  SQLGroupTableBuilder("统计表1","表A")
b.Groups.Adddef("第一列")
b.Groups.Adddef("第二列")
b.Totals.Adddef("客户列",AggregateEnum.Count,"总人数")
b.Totals.Addexp("已出售","iif(第一列 Is null,0,1)")
b.Totals.Addexp("未出售","iif(第二列 Is null,0,1)")
b.Build 
MainTable = Tables("统计表1")