以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]如何统计某个表,各个名字出现的次数  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=52866)

--  作者:瞩望星空
--  发布时间:2014/6/24 17:33:00
--  [求助]如何统计某个表,各个名字出现的次数

何统计例子中“计数”表,各个名字(如AA、BB)出现的次数。

 谢谢

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:范围统计.table

[此贴子已经被作者于2014-6-24 17:34:41编辑过]

--  作者:Bin
--  发布时间:2014/6/24 17:38:00
--  
利用Compute 

例如


Dim c As Integer = DataTables("计数").Compute("Count(第一列)","第一列=\'AA\'") + DataTables("计数").Compute("Count(第二列)","第二列=\'AA\'")
MessageBox.show(c)

--  作者:有点甜
--  发布时间:2014/6/24 17:40:00
--  

 如下,这个意思?

 

Dim sql As String = "select [_Identify] as 次数, 第一列 as 名称 from {计数} union all select [_Identify], 第二列 from {计数}"
Dim g As New GroupTableBuilder("统计表1", sql)
g.Groups.AddDef("名称")
g.Totals.AddDef("次数", AggregateEnum.Count)
g.Build()
MainTable = Tables("统计表1")


--  作者:瞩望星空
--  发布时间:2014/6/24 17:44:00
--  

这种效率还是太低,有没有象这个语法:

 

Aggregate

 

统计指定区域的数据。

语法:

Aggregate(AggregateType, R1, C1, R2, C2)


--  作者:有点甜
--  发布时间:2014/6/24 17:47:00
--  
回复4楼,木有这种语法。
--  作者:瞩望星空
--  发布时间:2014/6/24 17:50:00
--  

谢谢!统计结果准确。

不过,如果能针对一个区域统计效率就高了。

现实应用是至少有十几列、30行左右数据,这样改成SQL语句的话,太长了。

[此贴子已经被作者于2014-6-25 8:56:55编辑过]