以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  同表关联计算引起的表格卡顿现象  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=95087)

--  作者:liguichuan
--  发布时间:2017/1/9 23:58:00
--  同表关联计算引起的表格卡顿现象

      我有这样一个业务表,业务表里面有很多的合同,每一个合同名下有很多的节点(站点),有可能每个节点(站点)的已回款金额是不同的。现在需要对这张表进行比较直观的显示,让每个合同能够显示出来独立的已回款比例欠款比例

       其中有:
                已回款比例 = 合同中每个站点的已回款金额之和 / 合同中每个站点合同金额之和
                欠款比例 = 合同中每个站点的欠款金额之和 / 合同中每个站点合同金额之和

       不想用太多的事件代码,所以想直接用表达式列来解决该问题。那对于同一张表的部分区域的独立计算,就想到使用搭建同表关联,然使用相关的计算公式Sum(Child.列名)的方式来实现。对应到上述的公式即为:
                Sum(Child.[台账回款情况_总额])/Sum(Child.[台账合同情况_总额])
                Sum(Child.[台账欠款情况_总额])/Sum(Child.[台账合同情况_总额])

        那么问题来了,该表在实际使用上十分卡,无论是在进行数据筛选,还是在进行数据加载,都十分卡,效率十分低下,给使用造成了影响,求解决的方法与思路。最好能提供修改后例子。初步排查应该是这个同表关联所引起的问题,甚至把表达式去掉,只留下同表关联不作任何计算,也是比卡的。

        最体的截图说明和开发板附件如下面所示:
        
图片点击可在新窗口打开查看此主题相关图片如下:同一个合同单独统计显示的需求.png
图片点击可在新窗口打开查看

       
图片点击可在新窗口打开查看此主题相关图片如下:表达式列与公式情况.png
图片点击可在新窗口打开查看

       
图片点击可在新窗口打开查看此主题相关图片如下:datacolchanged事件代码.png
图片点击可在新窗口打开查看

        
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:同表关联示例.foxdb




[此贴子已经被作者于2017/1/9 23:58:39编辑过]

--  作者:有点蓝
--  发布时间:2017/1/10 8:49:00
--  
这种表格大量的表达式计算和代码计算,还做了同表关联,不卡才是不正常的。这完全就是使用习惯了Excel然后搬到狐表的用法,不建议这样用。

数据录入和数据统计分析应该尽量分离。

--  作者:有点色
--  发布时间:2017/1/10 9:17:00
--  

只能是不做关联来处理。关联能做到的任何事情,都可以通过代码来实现的。

 

再者,你可以不需要实时计算得出结果,你可以用一个按钮整体的进行计算,这样你录入的时候,就不会卡。


--  作者:liguichuan
--  发布时间:2017/1/10 11:00:00
--  
就算只保留同表关联,把所有的表达式去掉,也是非常卡。我想请教一下,同表关联造成效率低下的原因主要是什么?

这是临时搭建起来用于不同城市的业务员上报和核对信息用的,因为平时大家都主要熟悉EXCEL表,所以就给大家搭建一个最直观的表格。

用EXCEL表无法做到同时在不同城市录入核对呀??

--  作者:有点色
--  发布时间:2017/1/10 11:02:00
--  
 为什么一定要设置关联?去掉关联如果不卡的话,那么你需要的逻辑,通过代码来实现即可。