以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  f9重算一次全表至少要3个小时的易表文件怎么办?  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=511)

--  作者:八路军参谋长
--  发布时间:2008/9/15 21:56:00
--  f9重算一次全表至少要3个小时的易表文件怎么办?

f9重算一次全表至少要3个小时。

1、表data是一个源表
2、表data1、data2……data6均与表data关联,是根据表data进行位置转换、属性转换。使用目的【转换后,各表导出为access文件,替换到一个软件中去的】,所以,估计公式不便更好的优化。
3、各表结构一样,各表有175列,3700多行,除源表外,列列有公式。
4、我的电脑为T2300双核、2GB内存,执行f9重算一次全表要3个多小时。(目的达到了,时间以后再想想办法吧)

想听听大家的意见,哪怕随便说两句
1、我的目的用易表实现算比较容易的,用狐表重新构架怕更难吧?
2、如果用狐表,可以解决速度的问题吧?
3、……

 

易表文件有2.39MB

请复制点击以下QQ文件中转站链接下载,不能下载请反馈(如需提取码 025a267e)

 

http://xianexs.mail.qq.com/cgi-bin/downloadfilepart/svrid277/data.egd?svrid=277&fid=cb4f1034739e2e31b66894618fb71b9672fef2f15ce9a43f&&txf_fid=&&txf_sid=

[此贴子已经被作者于2008-9-15 21:56:23编辑过]

--  作者:程兴刚
--  发布时间:2008/9/15 22:05:00
--  
我都不知您到底要干啥?易表狐表倒来倒去,我都头晕,肯定地说,狐表解决您的问题应该很容易!

--  作者:czy
--  发布时间:2008/9/15 22:30:00
--  
以下是引用八路军参谋长在2008-9-15 21:56:00的发言:

f9重算一次全表至少要3个小时。

1、表data是一个源表
2、表data1、data2……data6均与表data关联,是根据表data进行位置转换、属性转换。使用目的【转换后,各表导出为access文件,替换到一个软件中去的】,所以,估计公式不便更好的优化。
3、各表结构一样,各表有175列,3700多行,除源表外,列列有公式。
4、我的电脑为T2300双核、2GB内存,执行f9重算一次全表要3个多小时。(目的达到了,时间以后再想想办法吧)

想听听大家的意见,哪怕随便说两句
1、我的目的用易表实现算比较容易的,用狐表重新构架怕更难吧?
2、如果用狐表,可以解决速度的问题吧?
3、……

 

易表文件有2.39MB

请复制点击以下QQ文件中转站链接下载,不能下载请反馈(如需提取码 025a267e)

 

http://xianexs.mail.qq.com/cgi-bin/downloadfilepart/svrid277/data.egd?svrid=277&fid=cb4f1034739e2e31b66894618fb71b9672fef2f15ce9a43f&&txf_fid=&&txf_sid=

[此贴子已经被作者于2008-9-15 21:56:23编辑过]

foxtable还在学习阶段,不能做出用foxtable来做这个系统的取向评说,从易表使用的角度说几句。

你的易表文件设计上有很大的欠缺,一次可以完成的计算你偏要反复的计算,比如说format([Data!Index2],"00")这类公式,完全可以在data表中一次性完成然后其它表引用即可,而你则每个表反复的去算。

知道每个表单一列的刷新公式执行[Data!上期期尾]这个公式需要多少时间吗,恐怕执行一下下面的公式不会比执行单列的刷新公式费时(在data1表中操作):ClearGrid("data1") And AppendRows("data"),而这个公式能将data表中所有的数据追加到本表,整个提升的速度可想而知。这样追加数据后你就可以有针对性的只对一些列进行重新的计算就可以。


--  作者:八路军参谋长
--  发布时间:2008/9/16 7:48:00
--  
谢谢各位的指点图片点击可在新窗口打开查看
--  作者:lxl
--  发布时间:2008/9/16 8:30:00
--  

用FoxTable 可以提高N倍速度.
第2张表的 第4列和第10列和源表数据刚好相反?

下面的公式先说易表的:
第2张表 Index110 刷新公式:mid("牛鼠猪鸡狗猴羊马蛇龙兔虎",Mod([Index10],12)*2 ,2) 
第2张表 Index111 刷新公式: mod([Index10],10)
第2张表 Index112 刷新公式:eval(format([Index10],"0+0"))
第2张表 Index113 刷新公式:Quotient(number([Index10])+1,7)
第2张表 Index114 刷新公式:left([Index10],1)

[此贴子已经被作者于2008-9-16 8:48:58编辑过]

--  作者:kylin
--  发布时间:2008/9/16 8:43:00
--  
以下是引用lxl在2008-9-16 8:30:00的发言:

用FoxTable 可以提高N倍速度.
第2张表的 第4列和第10列和源表数据刚好相反?
第2张表  Index110列生肖列的方法不好.易表公式:mid("牛鼠猪鸡狗猴羊马蛇龙兔虎",Mod([Index10],12)*2 ,2)  就可以实现

第2张表 Index111 刷新公式: mod([Index10],10)

[此贴子已经被作者于2008-9-16 8:37:54编辑过]

呵呵,楼主研究六合彩,居然对概率统计感兴趣.

[此贴子已经被作者于2008-9-16 8:43:02编辑过]

--  作者:lxl
--  发布时间:2008/9/16 8:51:00
--  
我看了看后面,太多了.全部都是If + Instr  当然效率低了.
几乎所有刷新公式都有更有效率的方法.

还有一个问题就是C斑说过的:重复计算.
前面表算出的结果,后面不直接引用,又重新算了几次.
[此贴子已经被作者于2008-9-16 9:00:26编辑过]

--  作者:八路军参谋长
--  发布时间:2008/9/16 9:45:00
--  
以下是引用lxl在2008-9-16 8:30:00的发言:

用FoxTable 可以提高N倍速度.
第2张表的 第4列和第10列和源表数据刚好相反?

下面的公式先说易表的:
第2张表 Index110 刷新公式:mid("牛鼠猪鸡狗猴羊马蛇龙兔虎",Mod([Index10],12)*2 ,2) 
第2张表 Index111 刷新公式: mod([Index10],10)
第2张表 Index112 刷新公式:eval(format([Index10],"0+0"))
第2张表 Index113 刷新公式:Quotient(number([Index10])+1,7)
第2张表 Index114 刷新公式:left([Index10],1)

 

 

用FoxTable 可以提高N倍速度.
第2张表的 第4列和第10列和源表数据刚好相反?

是特意相反的。data1-data6每张表都有一列与index10相反。

除此以外,datd1-data6所有的公式都是一样的。

data只是源表,所以没有任何公式

[此贴子已经被作者于2008-9-16 8:48:58编辑过]


--  作者:lxl
--  发布时间:2008/9/16 9:58:00
--  
大概看懂你的整个文件结构了
你第一张表的 Index0 ~ Index10 列才是源数据吧
第一张表的其他列,以及其他所有表,都是通过这11列数据得到的.

用FoxTable能很快完成.
因为后5张表的结构和公式都差不多,只有两列数据对掉了一下.