微蓝网分享经验,让生活更简单!移动APP免费注册登录

报表生成系统FineReport中如何优化报表计算时间,快快收藏吧!

阅读:83次 时间:2023-12-08 12:09:00来源:用户
最佳经验
由作者撰写原创经验并推荐置顶

完成报表取数后,设计器会对数据库返回的数据进行扩展、分组、列表、汇总等运算,好的模板制作习惯往往可以优化报表的计算时间,下面就通过报表生成系统FineReport来进行介绍,以下内容是由微蓝经验网用户发布报表生成系统FineReport中如何优化报表计算时间,快快收藏吧,希望对于用户有一定帮助,为朋友进行解决疑惑,如若想了解更多相关内容,可以向底部移动了解更多与本教程文章相关解决经验方法!

工具与材料

报表生成系统FineReport7.1.1;大小:148.2M 适用平台:windows/linux

方法/步骤
  1. 1

    空白单元格应用

    报表中,只要一个单元格里有设置就会占用一份内存,而空白的单元格几乎是不占任何内存的,报表中由于布局的需要,不可避免地会出现一些只起到占位作用而无需其他的设置的单元格;尽量将这些单元格设成空白单元格,这样能够有效的减少内存的占用,加快报表的运算速度。

    报表生成系统FineReport中如何优化报表计算时间,快快收藏吧!
  2. 2

    慎用隐藏行列

    报表中为了进行一些复杂的运算,往往需用到隐藏行列来处理中间的运算,而这些隐藏行列中被用到的单元格,往往只有一两个格子,此时被隐藏行列中没被用到的单元格里有设置的话会额外浪费内存,因此建议把没用的单元格设为空白单元格,减少内存的占用,加快报表的运算速度。

  3. 3

    慎用合并单元格

    报表中,常常会用到合并单元格,合并单元格的所有属性都是保存在左上角的格子中的,而合并区域中的其他被合并的单元格,并不保存任何属性也不占用内存,虽然合并单元格的应用能够减少内存,不过因合并单元格的运算涉及到多个单元间的主被动关系,所以运算比较复杂,反而会降低运算速度,因此,我们建议慎用合并单元格,尽量将没用的单元格设成空白单元格。

  4. 4

    相同效果的条件属性

    同一行(列)中的单元格需要设置相同效果的条件属性时,只需在该行(列)中的某个单元格设置一下条件属性便可,这样能够加快报表的运算速度,如下图,需要隐藏某行时只需要在一个单元格中设置条件属性即可,不要每个单元格都设置。

    报表生成系统FineReport中如何优化报表计算时间,快快收藏吧!
  5. 5

    相同效果的数据列基本属性设置

    报表制作过程中,我们将数据集中的字段拖入单元格时,数据列>基本>数据设置,(分组、列表、汇总)中计算最快的是列表,如制作明细表时有两种设置方法,结果是一样的, 设置方式一:地区列数据设置为列表,后面其他跟随其扩展的数据列的数据设置还是采用默认的设置(即分组普通)。

    报表生成系统FineReport中如何优化报表计算时间,快快收藏吧!
  6. 6

    设置方式二:地区列数据设置为列表,后面其他跟随其扩展的数据列的数据设置也修改为列表。

    报表生成系统FineReport中如何优化报表计算时间,快快收藏吧!
  7. 7

    上面两种设计方式的数据展示结果是一样的,不过报表的计算速度却不一样;第二种方式的报表计算速度明显会比第一种快,这是因为数据列设为分组时,报表会将取出的数据进行一次分组聚集的计算,而不管数据有没有重复,因此,对于可实现相同效果的应优先设置其数据列属性为列表。

  8. 8

    父格设置

    FR中设计报表的最重要的思想,就是数据列的扩展,而跟随哪一个单元格扩展是必须要注意的问题,所以父格的设置是很重要的,父格设置不恰当会影响报表的计算速度,甚至导致结果错误,另外,父子格层次树高度,对报表性能也有影响,所以尽量减少父子格层次树高度,如对下图模板:

    报表生成系统FineReport中如何优化报表计算时间,快快收藏吧!
  9. 9

    注:将所有单元格的数据显示方式设置为列表显示,设置方式一:销量父格为产品名称,产品名称父格为产品类型,产品类型父格为销售员、销售员父格为地区,父子格层次树为4层,设置方式二:销量、产品名称、产品类型、销售员的父格都为地区,父子格层次为1层,上面两种设计方式的数据展示结果是一样的,不过报表的计算速度却不一样;第二种方式的报表计算速度明显会比第一种快。

  10. 10

    取消自动调整行高或列宽

    若已设置自动调整列宽的话,那么在报表展示前会先去计算单元格中数据的宽度或高度,这样就增加了报表的运算时间,所以尽量取消自动调整行高或列宽。

  11. 11

    优化过滤条件

    查看模板中是否重复设置了过滤条件,删除多余的过滤条件,即若数据列来自相同的数据集,只需在最左父格设置过滤条件并勾选将父格子作为过滤条件(默认是勾选的)即可。

THE END
分享到:
免责声明:本文来自微蓝网用户分享,不代表微蓝网的立场。
作者信息

新手帮助关于我们招聘信息反馈投诉免责声明服务协议最新文章

微蓝网部分素材(图片、视频、音频等)来自于网络,不代表本站立场,以上素材或内容仅代表作者个人观点,因此产生相关问题作者本人负责,本站将不承担任何法律责任! 如有问题请进行侵权投诉

© 2025 VLPOS.com 版权所有 微蓝网 ICP备案号:黑ICP备20003952号-1  黑公网安备 23012602000120号