以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- [求助] (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=14828) |
||||
-- 作者:pensa -- 发布时间:2011/12/3 20:16:00 -- [求助] 请问,Foxtable可不可以实现数据的随机抽取? 我有一批数据,其总量太大,我欲随机抽取其中的10%,请问这可以在Foxtable中实现吗? 如何实现?
不胜感激!!
Pensa
|
||||
-- 作者:czy -- 发布时间:2011/12/3 23:46:00 -- 可以轻松实现。 楼主做个实例发上来吧。 |
||||
-- 作者:liguichuan -- 发布时间:2011/12/4 4:06:00 --
楼主,看一下,行不行? 我试了一下,按我这样的方法,如果数据量太大的话,可能会比较慢,不知有无其它更为优化的办法呢?因为在不停地查找比较。 还有,如何生成不重复随机数呢? 请大家赐教~! |
||||
-- 作者:pensa -- 发布时间:2011/12/4 9:50:00 -- 谢谢大家的回复。。 数据的楼上设计的基本一样,会有5000到10000个左右,我欲随机抽取其中的10%,不重复的。。 附件中是我的数据在Excel中的较少的一个,在access中没有试出来,希望从这里能够得到答案! 谢谢大家
|
||||
-- 作者:liguichuan -- 发布时间:2011/12/4 12:06:00 -- 刚试了一下,从52163行数据中抽取出10%,也就是5216行数据,包括查找,复制三列数据,保存数据在内,总共要花差不多95秒的时间。 原本想在窗中的标签中显示“抽样中……”,可是不知道怎么回事,并没有显示,反而是结束抽样后有显示。代码都在按键的事件中写。 请哪位大虾给指点一下吧。 现在关心如何高效生成不重复的随机数。通过成生再判断的方式较浪费效率。假如数据是500万行呢?那肯定卡死。 |
||||
-- 作者:mr725 -- 发布时间:2011/12/4 14:08:00 -- DataTables("抽样数据").DeleteFor("[序列号] is not null") Tables("基础数据").Filter = "[序列号] is not null" Tables("抽样数据").addnew(抽样行数) |
||||
-- 作者:pensa -- 发布时间:2011/12/4 15:00:00 -- 能详细点吗,具体怎么操作? 查找,复制,保存。代码? 俺是初学者,看得糊里糊涂。。 |
||||
-- 作者:mr725 -- 发布时间:2011/12/4 15:20:00 -- 放到你的按钮中, 最后再加上一行: MainTable = Tables("抽样数据") 或命令窗口也可。 |
||||
-- 作者:liguichuan -- 发布时间:2011/12/4 16:10:00 -- 6楼的好像还差点吧,抽样出来的会有出现重复抽样的情况呀,而且好像只是把保存的时间另外剥离了出来而已。 |
||||
-- 作者:pensa -- 发布时间:2011/12/4 17:24:00 -- ?
放到你的按钮中, 最后再加上一行: MainTable = Tables("抽样数据") 或命令窗口也可。
? 6楼的好像还差点吧,抽样出来的会有出现重复抽样的情况呀,而且好像只是把保存的时间另外剥离了出来而已。 ? |