Foxtable(狐表)用户栏目专家坐堂 → [求助]


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

主题:[求助]

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


加好友 发短信
等级:婴狐 帖子:6 积分:101 威望:0 精华:0 注册:2011/12/3 20:13:00
[求助]  发帖心情 Post By:2011/12/3 20:16:00 [只看该作者]

请问,Foxtable可不可以实现数据的随机抽取?

我有一批数据,其总量太大,我欲随机抽取其中的10%,请问这可以在Foxtable中实现吗?

如何实现?

 

不胜感激!!

 

Pensa

 


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


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

可以轻松实现。

楼主做个实例发上来吧。


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


加好友 发短信
等级:小狐 帖子:362 积分:3196 威望:0 精华:1 注册:2011/4/20 1:40:00
  发帖心情 Post By:2011/12/4 4:06:00 [只看该作者]

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

楼主,看一下,行不行?

我试了一下,按我这样的方法,如果数据量太大的话,可能会比较慢,不知有无其它更为优化的办法呢?因为在不停地查找比较。

还有,如何生成不重复随机数呢?

请大家赐教~!


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


加好友 发短信
等级:婴狐 帖子:6 积分:101 威望:0 精华:0 注册:2011/12/3 20:13:00
  发帖心情 Post By:2011/12/4 9:50:00 [只看该作者]

谢谢大家的回复。。

数据的楼上设计的基本一样,会有5000到10000个左右,我欲随机抽取其中的10%,不重复的。。

附件中是我的数据在Excel中的较少的一个,在access中没有试出来,希望从这里能够得到答案!

谢谢大家

 


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


加好友 发短信
等级:小狐 帖子:362 积分:3196 威望:0 精华:1 注册:2011/4/20 1:40:00
  发帖心情 Post By:2011/12/4 12:06:00 [只看该作者]

刚试了一下,从52163行数据中抽取出10%,也就是5216行数据,包括查找,复制三列数据,保存数据在内,总共要花差不多95秒的时间。

原本想在窗中的标签中显示“抽样中……”,可是不知道怎么回事,并没有显示,反而是结束抽样后有显示。代码都在按键的事件中写。

请哪位大虾给指点一下吧。

现在关心如何高效生成不重复的随机数。通过成生再判断的方式较浪费效率。假如数据是500万行呢?那肯定卡死。


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


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:5154 积分:31434 威望:0 精华:8 注册:2008/9/8 12:27:00
  发帖心情 Post By:2011/12/4 14:08:00 [只看该作者]

DataTables("抽样数据").DeleteFor("[序列号] is not null")

Tables("基础数据").Filter = "[序列号] is not null"
Dim 非空行数 As Integer = Tables("基础数据").Rows.Count
Dim 随机数 As Integer
Dim 抽样行数 As Integer = 非空行数 * (CDbl(Forms("窗口1").Controls("TextBox1").value) / 100 )

Tables("抽样数据").addnew(抽样行数)
For i As Integer = 0 To 抽样行数  -1
   Tables("抽样数据")(i,"序列号") = Rand.Next(1,非空行数)
Next


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


加好友 发短信
等级:婴狐 帖子:6 积分:101 威望:0 精华:0 注册:2011/12/3 20:13:00
  发帖心情 Post By:2011/12/4 15:00:00 [只看该作者]

能详细点吗,具体怎么操作?

查找,复制,保存。代码?

俺是初学者,看得糊里糊涂。。


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


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:5154 积分:31434 威望:0 精华:8 注册:2008/9/8 12:27:00
  发帖心情 Post By:2011/12/4 15:20:00 [只看该作者]

放到你的按钮中, 最后再加上一行: MainTable = Tables("抽样数据")

或命令窗口也可。


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


加好友 发短信
等级:小狐 帖子:362 积分:3196 威望:0 精华:1 注册:2011/4/20 1:40:00
  发帖心情 Post By:2011/12/4 16:10:00 [只看该作者]

6楼的好像还差点吧,抽样出来的会有出现重复抽样的情况呀,而且好像只是把保存的时间另外剥离了出来而已。

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


加好友 发短信
等级:婴狐 帖子:6 积分:101 威望:0 精华:0 注册:2011/12/3 20:13:00
  发帖心情 Post By:2011/12/4 17:24:00 [只看该作者]

放到你的按钮中, 最后再加上一行: MainTable = Tables("抽样数据") 或命令窗口也可。

 

6楼的好像还差点吧,抽样出来的会有出现重复抽样的情况呀,而且好像只是把保存的时间另外剥离了出来而已。 ?


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