Foxtable(狐表)用户栏目专家坐堂 → 如何实现统计table中某一列的不同值的数量


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

主题:如何实现统计table中某一列的不同值的数量

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


加好友 发短信
等级:四尾狐 帖子:808 积分:6213 威望:0 精华:0 注册:2014/3/23 23:02:00
如何实现统计table中某一列的不同值的数量  发帖心情 Post By:2014/11/29 10:09:00 [只看该作者]

我能想到:如是datatable,可用getvalues函数获得集合,然后count
但如何统计table中某一列的不同值的数量?谢谢

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


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


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


加好友 发短信
等级:四尾狐 帖子:808 积分:6213 威望:0 精华:0 注册:2014/3/23 23:02:00
  发帖心情 Post By:2014/11/29 10:52:00 [只看该作者]

count能统计列中所有值的个数,而不能统计不同值的数量。谢谢

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


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

不明白你的意思,你想要交叉统计? 分组统计?

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


加好友 发短信
等级:四尾狐 帖子:808 积分:6213 威望:0 精华:0 注册:2014/3/23 23:02:00
  发帖心情 Post By:2014/11/29 11:26:00 [只看该作者]

就是一个table表,不是datatable,比如说筛选后的table表,我想统计表中"机型"列中不同机型的数量。

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

由于不是datatable,不能使用getvalues和GetComboListString函数,该如何统计。谢谢

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


加好友 发短信
等级:版主 帖子:1693 积分:12135 威望:0 精华:7 注册:2013/7/11 10:52:00
  发帖心情 Post By:2014/11/29 11:33:00 [只看该作者]

方法一、遍历table统计

 

方法二、转datatable  ,取集合 (table.daatable.GetValues(列名,table.Filter)),遍历统计

 

方法三、转datatable ,用GroupTableBuilder 统计 ,再遍历读取


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


加好友 发短信
等级:四尾狐 帖子:808 积分:6213 威望:0 精华:0 注册:2014/3/23 23:02:00
  发帖心情 Post By:2014/11/29 21:29:00 [只看该作者]

用了第2种方法,成功;第一种还不会,新手,麻烦指点,谢谢

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/11/29 21:31:00 [只看该作者]

dim cnt as integer

for each r as row in tables("aaa").rows

     if r("某列") = 某值 then

         cnt = cnt +1

     end if

next

 

 


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


加好友 发短信
等级:四尾狐 帖子:808 积分:6213 威望:0 精华:0 注册:2014/3/23 23:02:00
  发帖心情 Post By:2014/11/29 22:08:00 [只看该作者]

这只能统计某一个值的数量,而不是该列所有不同值的数量。比如,机号列中数量是2(B8271,B8266)。我试着写了一下,报错,麻烦指点,谢谢
For Each r As Row In Tables("筛选").rows
    Dim acs As List(Of String) = r("机号")
    Dim cnt1 As Integer = acs.Count    
Next

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


加好友 发短信
等级:狐神 帖子:4752 积分:34568 威望:0 精华:0 注册:2008/8/31 22:44:00
  发帖心情 Post By:2014/11/29 22:09:00 [只看该作者]

堆了半天楼
咋就不愿意上个例子呢

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