报表知识库
我要提问

行式报表——显著提高运算效率

润乾报表的报表样式可以分为普通报表和行式报表两大类。由于存储和计算的基本单位不同,行式报表在运算速度和处理数据量上有着很大的优势,使用行式报表可以显著提升报表的运算效率和处理数据量。

普通报表:把报表中的单元格作为存储和计算的基本单位,比如一个3行3列的普通报表,那么在内存里就是把3*3=9个单元格作为9个对象进行存储和计算。
行式报表:把报表中的行作为存储和计算的基本单位,比如一个3行3列的行式报表,那么在内存中就是把3行作为3个对象来存储和计算,这种报表极大的提高了运算速度。

下面我们以具有20万条记录的表test_one为例,来对普通网格式报表和行式展现报表的运算速度进行一下对比。

普通网格式报表:用时49秒。

1.png

行式展现报表:用时29秒。

2.png

可以看出,在20万条记录的情况下,使用行式报表可以缩短40%以上的运算时间,大大提高了运算效率。当数据量再继续增加尤其是列数大大增加的时候,行式展现报表的高效优势就会体现得越发明显。

但并不是任何一个报表都是行式报表,只有满足以下特征的报表,才可以是行式报表:

  • 主格不同行

例:主格在同一行,属于普通报表

3.png

例:主格不在同一行,属于行式报表

4.png

  • 无横向扩展

例:单元格横向扩展,属于普通报表

5.png

例:单元格纵向扩展,属于行式报表

6.png

  • 无拉伸单元格

例:扩展时存在纵向拉伸单元格,属于普通报表。

7.png

例:扩展时无拉伸单元格,属于行式报表

8.png

  • 按源格遍历法运算(源格不能循环引用)

例如:下图所示的报表有一个累积奖金列。所谓的累积,就是从第一行起累加到当前行的数值之和。我们把F2格的表达式写成=E2+F2[-1]。在设计状态,只有一行单元格,E2格只有一个,扩展后变成了很多行,变成了很多个E2格,这就属于源格循环引用的一个例子,所以这个报表不属于行式报表。

9.png

  • 无图注

不包含任何类型的统计图。

当然,每次设计报表之后都要对照上述要求逐条判断是件挺麻烦的事情,为此,润乾提供了方便快捷的行式报表判断机制,如下图所示,当制作好了一张报表之后,只要点击设计器菜单栏属性菜单中的【检查是否行式】就可以得出结论。

10.png

判断当前报表为行式报表之后,只需在报表属性中把报表样式改为行式报表,那么在对这个报表进行存储和运算时就会作为行式报表以行为单位来高效率进行了。

11.png

引自:润乾报表知识库
相关文章:一种实现类似excel把负数显示成红色且去掉负号的方法 ; 导入带公式excel的问题web报表的扩展功能润乾报表出了新版统计图   ;解决行式填报导入excel发生错位的问题
其他相关内容: 润乾商业智能解决方案商业智能BI联盟 ; Java报表 ; 报表软件 ;