魔方网表 让信息化更简单

 找回密码
 注册

手机号码,快捷登录

手机号码,快捷登录

查看: 4151|回复: 0

[原创] 制作报表

[复制链接]
西瓜红小公举 发表于 2016-7-14 16:30:31 | 显示全部楼层 |阅读模式
在魔方网表中,制作报表一般要写3个公式:
1 清除当前报表数据
2 插入统计维度
3 按照维度值更新统计项

如果统计维度项比较多,而且源表单数据量比较大,采用这种标准写法的报表公式执行很慢,主要原因如下:
1) 第1步清除当前报表数据,系统默认会针对每条记录进行数据库删除操作,删除数据效率低
2) 第2步插入统计维度,很多情况下,统计维度都是从源表单中选择不重复的值填写过来,如果源表单数据量大,执行速度会很慢
3) 第3步按照维度值更新统计项,按照每个统计维度值从源表单过滤出数据然后进行统计计算,如果统计维度比较多,而且源表单数据量比较大,执行速度也很慢

下面我们针对每个步骤进行优化:
1) 将删除报表数据的操作改为清空,清空的特点是一次性将命令发给数据库,数据库执行完操作返回,避免了删除记录方式下没删除一条记录访问一次数据库,提高了删除速度。但此办法不能触发删除类的回写公式,如果没有删除类的回写公式,可尝试用使用这个办法。
2) 将第2步和第3步合并成一步,也就是说写一条新增类型的报表公式,同时给维度项和统计项赋值,这种情况下,魔方网表会将统计命令一次性发给数据库,数据库进行分组汇总后将结果返回给魔方网表。这个办法避免了大量反复查询汇总操作,从而提高了执行效率。
您需要登录后才可以回帖 登录 | 注册

本版积分规则


Archiver|手机版|小黑屋|魔方软件 ( 京ICP备08008787号 )

京公网安备 11010702001722号

GMT+8, 2024-9-22 01:22 , Processed in 0.063713 second(s), 15 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表