I. Overview
1.Version
Report Server Version | Features |
---|---|
11.0 | - |
11.0.2 | Added "Preference to Use Cursor Paging" function in "Computed Properties" Added "Pagination by fixed row" Added "Row Count Summary" After enabling the "Pagination by fixed row" , the preview template can display the total number of pages |
2. Application Scenarios
When the template data volume is large, the preview speed will be slow, affecting the user experience. FineReport 11 has a built-in engine-x, which is mainly used to improve the performance of simple templates such as grouping details, filtering, and summarization in the scenario of large data volume of cpt templates, which can significantly improve the display speed of these templates.
3. Implementation Principle
Through the preprocessing (compiling) of the template, some settings in the template are compiled into SQL statements, which are processed by SQL, and at the same time, the data is fetched on demand, only part of the data is fetched at a time, and the paging calculation is performed in the background.
This is a calculation method that can avoid the pressure brought by the large amount of data and give priority to ensuring the fast loading and presentation of the home page.
II. Scope of Application
Note: Only cpt templates can use the engine-x.
1. Supported Features
Compared with the row engine, the engine-x supports the following features:
Supports cell filtering and summation.
Supports conditional formattings row height column width, hyperlinks.
Supports adaptive.
Supports cell content prompts using formulas.
Supports the use of multiple datasets with no filtering relationship to each other.
Supports added data source.
Support duplicate and freeze.
Support watermark.
Expand and collapse collapsed tree nodes. For details, see: Pagination Preview Exclusive
Templates that conform to the organization tree structure and have Tree Node Button, the pagination preview under the new engine can also be displayed as a collapsed tree. For details, please refer to:Organization tree by tree dataset
Note: The supported data sources are 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. Unsupported features
Due to the logic limitation of the back-end pagination calculation, the engine-x does not support the use of some features outside the parameter panel:
Non-JDBC data sources are not supported.
Tree dataset, relation dataset, stored procedures are not supported.
Sort after Expansion is not supported
Hierarchical coordinates, SQL formulas, and "Report Function" type formulas are not supported.
Conditional formattings do not support pagination after row and widgets.
Floating elements, row/column split, and operations between sheets are not supported.
Pagination preview display chart is not supported.
Inserting cells into subreports is not supported. For details, please refer to: Master-sub embedded report
Filtering between different datasets is not supported.
Mobile is not supported.
Note 1:When the above unsupported features use the engine-x, there will be an error message indicating unsupported feature in the log. At this time, in order to avoid the template preview error, the background calculation of the old engine will be automatically performed (that is, these templates will not have a performance improvement).
Note 2:The new computing engine supports grouping, but the overall performance of grouped display is inferior to that of list display. For better performance, if there is no grouping requirement, it is recommended to set the first column of the template as a list.
3. Comparison of Row Engine and Engine-X
Computational Logic | Row Engine | Engine-X |
---|---|---|
Data columns (filter, filter, sort, etc.) | Extract dataset data to server memory, filter and filter in memory When the amount of data is large, there is a risk of memory overflow | Compile settings into SQL statements that are executed by the database The speed is faster, the larger the amount of data, the more obvious |
On-demand computing | Not support yet | Support |
Formula analysis calculation | Dynamic parameter caching is not supported | Determine cell relationships in advance by precompiling to avoid recursive traversal during calculation Support dynamic parameter caching |
Serialized Storage | The template is a single XML, and the resource file is converted to a string storage Reading and saving templates can be slow when there are a large number of resource files | The template is in zip format, and the contents are metadata objects, so there is no need to convert resource files into strings for storage When the size of the template is large, there will be no lag when reading and saving |
Preview | Support new front-end preview | Support new front-end preview |
The engine-x is stream computing and has the function of quickly displaying the first screen. After the first screen is displayed, you can click to turn the page to view the data without waiting for all the data to be processed. The comparison of the display speed of the old and new engine reports is shown as follow:
Row engine on the left,Engine-x on the right.
4. Usage Guide
For engine-X operation documentation, please refer to: Engine-X usage
After using Engine-X, click "Template" in the menu bar of FineReport Designer to add a "Calculated Attributes" setting item. For details, please refer to: Template Calculated Attributes
Engine-X preview can effectively solve the problem of slow template preview, but it is still relatively slow when exporting datasets. By customizing a button on the toolbar and entering a custom JS event, the export of large data sets can be realized, which can significantly improve the export speed. For details, please refer to: Engine-X Large Dataset Export
For the JS interfaces supported by Engine-X, please refer to: Pagination Preview Exclusive