Posted on 2010-03-10 17:53
FineReport——报表技术领跑者 阅读(81)
评论(0) 编辑 收藏
对于超大数据量的报表,结果报表格子数也很多的时候,如果报表的运算并不复杂,没有跨行组的运算,可以采用层式报表的办法,该办法可以从根本上加快报表的展现速率,缓解大报表的内存压力。
原理
由于超大数据量需要消耗大量的时间和内存,所以从执行开始到到执行结束需要等待大量的时间,有时已经无法满足性能要求。但是,存在这样一类简单报表,比如明细列表,它们在服务器执行一段时间后,最前面几页的报表执行结果已经确定并且可以得到。虽然这时报表尚未执行结束,已经执行出来的那部分已经可以得到并送交客户端展现。简而言之,边执行边展现。由于从客户端输入请求,到执行出结果最前面一部分所需的执行时间很少,所以通过层式报表,可以大大的加快展现效率,提高用户体验。
限制条件
1.数据列的扩展方向从上到下
2.无拉伸单元格
3.无图注
4.不支持隐藏行/列
5.不支持自动换行/尺寸调整方式
6.不支持行/列后分页
7.无法计算总页数
8.没有内容为公式的单元格, 这意味着利用公式统计的功能丢失, 仅有不需要用到单元格的公式
9.只用来展现,没有填报
配置方法
选择菜单:报表|非层式报表,将报表转化为层式报表
优点
1.运算速度快
2.处理数据量大
缺点
层式报表的各个方向都是从性能的角度考虑的,这表明性能是层式报表的核心要素,而功能其次,必须要满足一些条件才能使用,这是他的缺点。
总结
如果简单报表满足限制条件要求并使用层式报表,可以极大的提高展现速率。对于一个几万条数据的报表,用普通的报表引擎执行,可能需要几分钟,但是层式报表的第一页出现在客户端可能只需要一两秒钟。