由于润乾即时报表是自由定制报表的工具,开放性很大,用户在制作web报表过程中不排除有不合理的设计报表的情况如错误的选取视图或错误的设置条件等,这种情况下数据量可能会很大,很有可能导致一些不可预知的性能问题。即时报表提供了性能管理功能对这种可能发生的情况进行控制。即时报表的性能管理功能包括对报表数据量的控制和对统计图数据量的控制两个方面。下面首先介绍一下对生成报表时数据量控制功能。
1、报表数据量控制的实现
即时报表设置了一个对数据量的控制参数,对于超过数据量的报表,用户可选择继续查看或要求重新设置。与权限控制类似,数据量的控制参数也是通过入口jsp的参数maxDataCount传入。之后,该变量会存在session中,名字为sys_MaxDataCount,类型为java.lang.Integer。若该变量为空,则表示无限制。在集成即时报表时,可直接在session中存储一个名字为sys_MaxDataCount的Integer变量,替代从入口的传入。
当报表数据量超出限制时,还可控制用户是否继续浏览报表。这个控制参数通过入口jsp的布尔型参数canContinue传入(取值0、1或true、false),并存储在session中,变量名为sys_CanContinue,类型为java.lang.Boolean,缺省值为false。在集成环境下,可直接在session中存储一个名为sys_CanContinue的Boolean型变量,替代从入口的传入。
2、数据限制的判断
对于网格式报表和分组式报表,maxDataCount控制结果数据集的行数(行数不能超过maxDataCount),这样最后的报表行数也被控制在maxDataCount之内。
对于交叉式报表,maxDataCount不对数据集作限制,但是会限制结果报表的行列数,即结果报表的数据区不能超过maxDataCount × maxDataCount大小。
注意:如果限制的合理的话,对于一个设置正确的报表,不会有任何影响。但是对于设置错误的报表,可以有效防止一些性能问题如服务器宕机。
即时报表的报表数据量控制对由于不合理的设计而导致数据量过大从而导致一些不必要的性能问题提供了控制功能,同时也减少了一些不必要的资源浪费。
引自:润乾报表知识库
原文链接:即时报表中的报表数据量控制
相关文章:即时报表中使用自定义指标;即时报表中使用专项过滤条件;即时报表Flex工具条使用之过滤显示数据