皕杰报表之报表优化

helloworld_34035044
• 阅读 530

在做报表时,数据量少的情况下,不明显,但数据量过大的情况下,可能就会出现预览数据缓慢等情况,这时我们可以设计报表时,进行一些优化。

1.优化报表运算时间,皕杰报表的brt文件在服务端是由servlet解析的,其报表生成的运算顺序是:变量参数运算-->数据集取数及运算-->报表运算及扩展... ... ,前面的步骤未走完,是不会往下进行运算的。对各个步骤检查优化,去掉不必要的东西,尽量减少隐藏行列,单元格合并等等。

  1. sql与数据集函数

报表中,经常会出现多个单元格的数据来自同一个数据表,但是取出的条件不一样,或者条件相同,取出的字段或表达式不一样等等,如果你细心研究,会发现这些单元格的数据完全可以通过一个sql取出来,然后再通过数据集的函数算出每个单元格的值。

如果将多个sql合并以后,取出的数据量并没有增大非常多,那么我们建议您尽量将sql合并,充分利用数据集函数中的条件表达式来算每个单元格的值;

如果sql合并后,取出的数据量增大了非常多,那么我们建议您尽量将sql拆开,减少传输的数据量。

这两者是一个权衡的关系,sql多的时候,系统访问数据库的次数多了,导致效率低;反之,sql少了,可如果传输的数据量变的非常大,同样会导致效率非常低。所以需要用户根据实际情况权衡利弊。

注意:

尽量在sql里进行group 尽量不用select * from 尽量在sql里排序 尽量在sql里过滤

  1. 尽量的使用扩展,这样既高校,又不容易出错。

4.设置数据类型时,精度相对即可,精度不用最高也可以,一般来说精度越高运算效率越慢。

5.灵活运用多数据集

有的时候在做报表设计的时候,用单数据集和多数据集都能实现一个报表的功能,那么在何种情况下应该用单数据集?何种情况下用多个数据集呢?这里有以下2个原则:

网格式、分组式、交叉式尽量用单数据集 分片式、多源报表尽量用多数据集

点赞
收藏
评论区
推荐文章
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
HTTP ERROR 500 java.lang.NumberFormatException: For input string: ““
在皕杰报表设计器中,打开报表时,报这个错误。然后你还会发现参数那里点不开,这就证明有可能是参数出了问题。我们把brt复制出来,使用编辑器打开brt文件,我们可以看到这个参数没有数据类型。我们把数据类型加上就可以了,我们可以设计一个有参数的没问题的报表,参数
皕杰报表小结
1.在使用皕杰报表时,我们会发现皕杰报表总共有下列五个视图区我们可以关闭或打开每个视图区,方便我们的报表设计。有的时候我们关闭了某个视图的话,我们可以通过点击左上角的视图菜单来重新打开我们所需要用的视图区域。这时候我们点击每个视图的左上角就会发现有分离按钮
皕杰报表中参数和变量的区别
在皕杰报表中,参数是有数据类型的变量,在报表运算过程中作为变量使用。参数那么参数在皕杰报表中具体如何使用呢?1、作为sql语句的where条件:通过给参数赋值可以实现动态查询,给参数赋予不同的值,从而查询出来不同的数据结果。需
皕杰报表(关于日期时间时分秒显示不出来)
在使用皕杰报表设计器时,数据据里面是日期型,但当你web预览时候,发现有日期时间类型的数据时分秒显示不出来,只有年月日能显示出来,时分秒显示为0:00:00。1.可以使用tochar解决,数据集用selecttochar(flowdate,"yyyyMMddHH:mm:ss")fromtablename2.也可以把数据库日期类型date改成timestamp
皕杰报表之预览数据不全
有时用皕杰报表做设计时,你会发现一个问题,报表工具中预览的数据不全,你仔细的检查了各个方面,发现设计的都没问题,但就是浏览的数据不全。这时你可以将报表部署到服务器上,用浏览器预览你发现一切正常。原因:皕杰设计器对数据是有限制的。为了减少设计器所占内存,在设
皕杰报表中未使用的数据集和多数据集会影响运算不
首先想知道多数据集和未使用的数据集影响运算不,我们需要先了解设计器是怎么运算的,皕杰报表的brt文件在服务端是由servlet解析的,其报表生成的运算顺序是:变量参数运算数据集取数及运算报表运算及扩展......,前面的步骤未走完,是不会往下进行运算的。无论报表里是否用到了这个数据集,报表工具都要先完成数据集的取数和运算再进行报表运算,因而,如果数据集发
序列生成函数
皕杰报表的序列生成函数是我们经常会使用的,在做报表的时候,经常需要生成一个序列,比如:字母序列a、b、c、d、e…皕杰报表本身提供了list函数来生成有限的枚举序列,使用如下:语法:list(valueExp1,valueExp2,valueExp3,……)参数说明:valueExp(n) 可以是字符型数据,整型数据,浮点型数据,布尔型数据或表达式举例说
报表的性能优化
​对于一个报表检验,性能就是其检验方向之一,皕杰报表之初就把性能摆到了第一位,但当面对超量的数据,服务器硬件毕竟有限,因而在设计报表时,性能优化也是需要考虑的问题。可以从以下几个方面来考虑优化:1.对数据集的sql语句进行优化,利用参数控制取出数据的数量,还可以使用视图或存储过程优化数据的获取。2.在制表的过程过程中进行函数的优化,使用select函数时,相
混世魔王 混世魔王
1年前
皕杰报表工具之报表日志和tomcat日志
我们在调试皕杰报表的过程中,通过浏览器访问有时会出现错误,比如查不出数据,500错误等,不知是哪里出了问题?这时候我们需要查看报表日志,看看报表运行是否有错误信息。皕杰报表日志的位置位于wabapps/iface/logs下,iface是项目的主目录,当报