Foxtable(狐表)用户栏目专家坐堂 → 如何统计某表A单元格中不同文本出现的次数?


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

主题:如何统计某表A单元格中不同文本出现的次数?

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


加好友 发短信
等级:幼狐 帖子:117 积分:1003 威望:0 精华:1 注册:2008/12/2 22:51:00
  发帖心情 Post By:2009/12/10 21:23:00 [只看该作者]

原来Yangming是杨大姐,cry是曹老师

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


加好友 发短信
等级:一尾狐 帖子:400 积分:3961 威望:0 精华:0 注册:2009/4/28 7:39:00
  发帖心情 Post By:2009/12/19 14:31:00 [只看该作者]

欲提高一下速度,请C老师帮看一下有没有问题,谢谢!
Dim s As Date = Date.Now()
Dim t As New DataTableBuilder("temp") '创建临时表
t.AddDef("字符", GetType(String), 32)
t.Build()

DataTables("temp").DataRows.Clear()
Dim Values() As String
Dim n1 As Integer
for Each dc as Datacol in DataTables("表A").Datacols
    n1 = n1 +1
    dim f As New Filler
    f.SourceTable = DataTables("表A") '指定数据来源
    f.SourceCols = dc.name '指定数据来源列
    f.DataTable = DataTables("temp") '指定数据接收表
    f.DataCols = "字符" '指定数据接收列
    f.Distinct = false
    f.Fill() '填充数据
   Next
dim f1 As New Filler
    f1.SourceTable = DataTables("temp") '指定数据来源
    f1.SourceCols = "字符" '指定数据来源列
    f1.DataTable = DataTables("统计") '指定数据接收表
    f1.DataCols = "字符" '指定数据接收列
    f1.Distinct = true
    f1.Fill() '填充数据
For Each dr As DataRow In DataTables("统计").DataRows
    dr("出现次数") = DataTables("temp").Compute("Count(字符)", "字符 = '" & dr("字符") & "'")
Next

Messagebox.Show("处理完毕! 耗时: " & (Date.Now -s).TotalSeconds)


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


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33945 威望:0 精华:10 注册:2008/8/31 20:56:00
  发帖心情 Post By:2009/12/19 16:48:00 [只看该作者]

基本没什么问题,有点小改动。

Dim s As Date = Date.Now()
Dim t As New DataTableBuilder("temp") '创建临时表
t.AddDef("字符", GetType(String), 32)
t.TableVisible = false
t.Build()
DataTables("统计").DataRows.Clear()
for Each dc as Datacol in DataTables("表A").Datacols
    dim f As New Filler
    f.SourceTable = DataTables("表A") '指定数据来源
    f.SourceCols = dc.name '指定数据来源列
    f.DataTable = DataTables("temp") '指定数据接收表
    f.DataCols = "字符" '指定数据接收列
    f.Distinct = false
    f.Fill() '填充数据
Next
dim f1 As New Filler
f1.SourceTable = DataTables("temp") '指定数据来源
f1.DataTable = DataTables("统计") '指定数据接收表
f1.ExcludeNullValue = true
f1.Fill() '填充数据
For Each dr As DataRow In DataTables("统计").DataRows
    dr("出现次数") = DataTables("temp").Compute("Count(字符)", "字符 = '" & dr("字符") & "'")
Next
Messagebox.Show("处理完毕! 耗时: " & (Date.Now -s).TotalSeconds)

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


加好友 发短信
等级:一尾狐 帖子:400 积分:3961 威望:0 精华:0 注册:2009/4/28 7:39:00
  发帖心情 Post By:2009/12/19 18:55:00 [只看该作者]

以下是引用czy在2009-12-19 16:48:00的发言:
基本没什么问题,有点小改动。

Dim s As Date = Date.Now()
Dim t As New DataTableBuilder("temp") '创建临时表
t.AddDef("字符", GetType(String), 32)
t.TableVisible = false
t.Build()
DataTables("统计").DataRows.Clear()
for Each dc as Datacol in DataTables("表A").Datacols
    dim f As New Filler
    f.SourceTable = DataTables("表A") '指定数据来源
    f.SourceCols = dc.name '指定数据来源列
    f.DataTable = DataTables("temp") '指定数据接收表
    f.DataCols = "字符" '指定数据接收列
    f.Distinct = false
    f.Fill() '填充数据
Next
dim f1 As New Filler
f1.SourceTable = DataTables("temp") '指定数据来源
f1.DataTable = DataTables("统计") '指定数据接收表
f1.ExcludeNullValue = true
f1.Fill() '填充数据
For Each dr As DataRow In DataTables("统计").DataRows
    dr("出现次数") = DataTables("temp").Compute("Count(字符)", "字符 = '" & dr("字符") & "'")
Next
Messagebox.Show("处理完毕! 耗时: " & (Date.Now -s).TotalSeconds)

这应是1楼问题的最佳答案.


 回到顶部
总数 14 上一页 1 2