历史版本93 :新计算引擎插件介绍 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 概述编辑

1.1 版本

报表服务器版本JAR 包版本 插件版本 功能变动
10.02019-11-07
V1.0.4-
2020-07-08
V1.4.1
新增「模板检测助手」功能
V1.6.0新增折叠树展开、收起接口
  • 模板检测助手的结果页面新增「功能建议」Tab

  • 模板检测助手的结果页面样式优化

  • 可关闭单个模板的自动优化

  • 可关闭模板检测助手的特定检测项

-V1.7.0「计算属性」处新增「优先使用游标分页」功能

注1:新计算引擎插件不支持 IE8 及以下浏览器。

注2:1.5.0 版本之后的新计算引擎插件,请勿设置日志级别为 DEBUG 

1.2 应用场景

  • 新计算引擎引入了一种新的模板格式 cptx,该模板格式主要用于提升大数据量场景下分组明细、过滤、汇总等简单模板的性能,可以明显提升这些模板的展现速度。

  • 模板的数据集取数、过滤、父子格设置等,都有可能影响模板的性能,在模板制作时,用户往往意识不到这些问题。新计算引擎插件新增「模板检测助手」功能,可在 cpt 模板制作过程中引导用户,制作出性能更好的模板。

1.3 实现原理

cptx 类似于一个压缩包,其中除了存储了原先的 cpt 文件之外,还包含了一些模板关系的编译结果。

通过对模板的预处理(编译),将一些模板中的设置编译为 SQL 语句,交由 SQL 处理,同时按需取数,一次只取出部分数据,同时后台分页计算。

这是一种可以规避大数据量带来的压力,优先确保首页快速加载展现的一种计算方式。

1.4 功能介绍

  • 支持将 cpt 模板转换为 cptx 模板。

  • 报表预览方式新增新分页预览

  • 支持批量转换及检测生成的模板是否支持新计算引擎。

  • cpt 模板,支持通过「模板检测助手」功能,在模板制作过程中,检测并优化模板性能问题。

  • 默认使用 SQL 分页,勾选「优先使用游标分页」后,将优先使用游标进行分页。

2. 适用范围编辑

cptx 支持的功能和不支持的功能将在本章介绍。

2.1 支持的功能

相比行式引擎,新计算引擎新增支持的功能:

  • 支持单元格过滤及汇总求和。

  • 支持条件属性行高列宽,超级链接。

  • 支持自适应。

  • 支持单元格内容提示使用公式。

  • 支持使用多个互相无过滤关系的数据集

  • 新增数据源支持。

  • 支持重复冻结功能。

  • 可以实现展开和收起折叠树节点。详情请参见:新引擎下实现展开和收起折叠树节点

  • 符合组织树结构并具有「树节点按钮」的模板,在新引擎下分页预览也可以显示为折叠树。

注:支持的数据源有 MySQL、ADS、huaweiHive、CUBRID、Apache Derby、Firebird、H2、SQLite、HSQL、MariaDB、PostgreSQL、SAP HANA、Oracle、Teradata、SQL Server、SQL Server2000、SQL Server2008、Access、ASE、Informix、Ingres、Amazon Redshift、Vertica、Apache Phoenix、Apache Kylin、Impala、GBase 8s、Transwarp、DB2、Sybase。

2.2 暂不支持的功能

由于后台分页取数计算逻辑限制,新计算引擎暂不支持部分功能在参数面板以外使用:

  • 不支持非 JDBC 数据源

  • 不支持树数据集、关联数据集、存储过程。(跟折叠树不矛盾,折叠树并不是只能靠树数据集实现)

  • 不支持 扩展后排序

  • 不支持层次坐标、SQL 公式和“报表函数”类型公式

  • 条件属性不支持行后分页和控件。

  • 不支持悬浮元素、分栏、sheet 间运算

  • 不支持分页预览展示图表

  • 不支持单元格插入子报表,详情可参见:嵌入式主子表

  • 不支持不同数据集间过滤

  • 包含 年份选择控件 的 cpt 模板,转换为 cptx 格式后,年份选择控件将失效

  • 不支持移动端使用

  • 新计算引擎开启后,邮件正文不支持报表内容。

注1:目前不支持上述功能, cpt 转 cptx 时,日志中会有 error 的报错提示 unsupported feature。此时为避免 cptx 预览报错,会自动走老引擎的后台计算(即这些模板不会有性能上的提升)

注2:新计算引擎支持了分组,但整体上分组展示的性能要逊色于列表展示,为了更好的性能,如无分组需求,建议将模板首列设置为列表。

3. 插件介绍编辑

3.1 插件安装

点击下载插件:新计算引擎

设计器插件安装方法参照 设计器插件管理

服务器安装插件方法参照 服务器插件管理

推荐配合大数据集导出使用,详细内容参见文档:新计算引擎大数据集导出

3.2 新旧引擎对比

旧引擎和新引擎的后台计算逻辑区别如下表所示:

注:这里的新引擎指的是 cptx 模板,旧引擎指的是 cpt 模板。

计算逻辑
旧引擎新引擎
数据列( 筛选、过滤、排序等 )

将数据集数据抽取到服务器内存,在内存中筛选和过滤

数据量较大时,有内存溢出风险

将设置编译为 SQL 语句,由数据库执行

速度较快,数据量越大越明显

按需计算不支持,只能全量计算所有支持
公式解析计算性能较慢,不支持动态参数缓存

通过预编译提前确定单元格关系,避免计算时递归遍历

支持动态参数缓存

序列化存储

模板为单个 XML,资源文件转为字符串存储

存在大量资源文件时,读取与保存模板会比较慢

模板为 zip 格式,里面内容为元数据对象,无需将资源文件转为字符串存储

模板体积较大时,读取与保存不会出现卡顿

前端渲染支持新前端渲染支持新前端渲染

新引擎是流式计算的,具有首屏快速展现的功能,可以在首屏出来后进行点击翻页查看数据,无需等待所有数据处理完。新旧引擎报表展现速度对比如下图所示:

左边为旧引擎,右边为新引擎。

536cc296-f9ee-454f-b3f8-bc10e6fa4ddd.gif

3.3 插件使用指导

4. 功能变动编辑

4.1 折叠树性能优化

新计算引擎对折叠树展示性能进行了优化,并提供了优化设置入口,详情参见文档 模板计算属性 2.4节。

4.2 折叠树支持与重复冻结同时使用

新计算引擎折叠树支持跟重复冻结功能同时使用,行列冻结均支持。