1. 概述编辑
1.1 版本
报表服务器版本 | 功能变动 |
---|---|
11.0.2 | 新增填报模快异常检测,详情可见:填报模板异常检测 |
1.2 功能介绍
FineReport 11.0 内置「模板助手」插件,cpt 模板可通过点击「模板检测助手」按钮对模板的性能进行检测,发现其中可能导致性能出现问题的地方,提醒给用户并提供建议修改方案。
注:该功能只支持 cpt 模板。
2. 操作步骤编辑
2.1 触发检测方式
2.1.1 手动触发
打开一张 cpt 模板,点击「模板检测助手」,可对模板进行检测,若模板未保存先触发模板保存提醒。如下图所示:
2.1.2 保存检测
打开一张未做过检测的 cpt 模板,进行修改并保存后,将自动对模板进行检测。
2.1.3 预览检测
打开一张未做过检测的 cpt 模板,对模板进行预览(支持所有预览方式),将自动对模板进行检测。
预览后关闭模板再次打开模板,「检测错误提示」按钮(本文2.2节)才会出现。
2.1.4 其他说明
检测过程中发生中止操作则中止检测(如关闭设计器、切换工作目录),下次正常预览或保存时再重新触发检测。
手动点击「模板检测助手」前,若模板未保存,先触发模板保存提醒。
预览检测方式下:检测未完成时,再次发生预览不触发第二次检测,如果再触发保存将中止未完成的检测重新开始。
2.2 检测错误提示按钮
2.2.1 按钮样式介绍
模板检测后,将会出现「检测错误提示」按钮,该按钮样式如下图所示:
2.2.2 其他说明
手动触发检测后,检测结果界面将以弹窗形式出现;保存或预览触发检测后,可通过点击「检测错误提示」按钮查看结果界面。
若用户对检测出的性能问题进行优化,检测出的问题数字将根据实际情况变化。
生成检测结果后,下次再打开模板,「检测错误提示」按钮依然存在。
2.3 结果界面介绍
若检测到性能问题,「修改建议」和「自动优化」两个 Tab 页将根据模板实际情况单独展示或组合展示。
修改建议:将不会自动进行优化,需要用户根据提醒手动修改。
自动优化:展示的是系统已经自动进行优化的部分。
2.3.1 无性能问题
若暂未检测到性能问题,检测结果页面如下图所示:
2.3.2 修改建议页面
如下图所示:
2.3.3 自动优化页面
如下图所示:
2.3.4 检测失败
检测失败时显示报错弹窗提示:检测出现错误,请在日志中查看失败原因。如下图所示:
2.4 是否自动优化
是否对模板进行自动优化如下表所示:
问题类型 | 问题内容 | 建议方案 | 是否自动优化 |
---|---|---|---|
冗余取数 | 数据集存在冗余取数列,检测到仅有XX、XX、XX数据列实际被使用 | 建议修改sql,减少所取数据列,仅保留需要的数据列 | 否 |
冗余计算 | 单元格存在冗余条件属性,相关条件属性计算已在其父格中重复进行 | 建议删除单元格中与父格一致的条件属性计算 | 是 |
计算性能 | 单元格存在扩展的SQL类函数sql,value,map、select),可能出现重复计算导致性能差 | SQL 类函数在每一次扩展后都会额外进行独立计算或执行sql,可能导致重复取数或重复计算 建议排查当前单元格是否需要扩展计算(每行计算内容不同),如不需要可将 SQL 类函数放在非扩展单元格,再用公式引用此单元格结果用于扩展 | 否 |
父子格性能 | 此行内存在较多列数据,容易出现父子格关系过深影响计算性能 | 建议将除第一个数据列以外的其他数据列都设置父格为第一个数据列,以减少计算父子格关系时的递归调用深度 | 是 |
过滤性能 | 数据列单元格中存在过滤,将交给内存处理,当数据集结果数据较多时将导致性能慢 | 建议去除数据列单元格中的过滤,将过滤条件写入数据集中进行过滤 | 否 |
2.5 关闭模板自动优化
若用户不希望对模板进行自动优化,需要以管理员身份进入平台,点击「管理系统>系统管理>常规」,关闭「模板自动优化」按钮。如下图所示: