Successfully!

Error!

Template Detection Assistant

  • Last update:  2023-04-24
  • Overview

    Versions

    Report Server Version

    Plug-In Version of Built-In Template Detection   Assistant

    Function Changes

    V11.0

    V1.0.0

    /

    V11.0.2

     V1.1.0

    1. Closure of specific detection items of template detection assistant

    2. New Function Suggestion Tab on the      result page of the template detection assistant

    3. Style      optimization of the result page of template detection assistant

    4. Automatic      optimization for closing single template

    Scenarios

    Due to the different development capabilities of template developers, most performance problems are caused by poor operation in the development process, and users are often not willing to edit the developed template. Template detection assistant guides you during template creation to reduce performance problems of new templates.

    Functions

    FineReport 11.0 has the built-in Template Assistant plugin. You can click Template Detection Assistant to check the performance of a template, find possible performance issues, and modify them according to suggestions.

    Procedure

    Triggering Detection

    1. Triggering Manually

    Open a template and click Template Detection Assistant to detect the template. If you do not save the template, the template saving reminder is triggered.

    2. Detecting Through Saving

    Open an undetected template. After you modify and save it, the template is automatically detected.

    3. Detecting Through Preview

    Open an undetected template. When you preview the template (you can preview it in various ways), the template is automatically detected.

    After preview, close it and open it again. Detection Error Tip (section "The Button of Detection Error Tip") will appear.

    4. Additional Instructions

    During detection, if you perform actions (such as closing the designer or switching the working directory), the detection is aborted. You can trigger detection again when previewing or saving normally next time.

    If you do not save the template before clicking Template Detection Assistant, a template saving notification is triggered.

    Detecting through preview: When the detection is not completed, the second detection will not be triggered if you preview again. If you click Save, the unfinished detection is aborted and the new detection starts.

    The Button of Detection Error Tip

    1. Introduction

    After you detect the template, Detection Error Tip appears, as shown in the figure below:

    2. Additional Instructions

    After you trigger the detection, the result interface of detection appears in the form of pop-ups. After detection through saving or previewing, click Detection Error Tip to view the result.

    If you optimize the detected performance issues, the number of detected issues changes according to the fact.

    After the detection result is generated, Detection Error Tip still exists when you open the template next time.

    The Page of Detection Error Tip

    If a performance problem is detected, Suggestions, Auto Optimize, and Function Suggestions are displayed individually or in combination based on the actual template conditions.

    Suggestions: The template is not optimized automatically. You need to modify it by yourself according to the tip.

    Auto Optimize: Shows the parts that the system has optimized automatically.

    Function Suggestions: Recommends functions that can optimize the performance of the template to users according to the template.

    1. No Performance Problem

    If no performance problem is detected temporarily, the result interface of detection is as shown below:

    2. The Page of Suggestions

    3. The Page of Automatic Optimization


    4. Function Suggestions

    5. Detection Failure

    When the detection fails, an error popup prompt appears: Fail to detect. Please view error log. 

    Whether to Optimize Automatically

    The following table shows whether to automatically optimize the template:

    Question Number

    Description

    Suggestions

    Whether to Optimize Automatically

    01001

    There are redundant data colums in   the dataset, and it is detected that only chuchaicishu, user_username data   colunns are actually used.

    It is suggested to modify SQL to   decrease the fetched data columns and only preserve those will be used.

    No

    02001

    The cell has redundant conditional   formatting, and the calculation of the relevant conditional formatting has   been repeated in its parent cell.

    It is suggested to delete the   conditional formatting calculation in the cell that is consistent with the   parent cell.

    Yes

    02002

    The cell has redundant filters and   the related filter calculation has been repeated in its parent cell.

     It is suggested to delete the filter   conditions in the cell which are consistent with the parent cell.

    No

    02003

    The hidden rows and columns contain   some meaningless conditional formatting calculations.

    It is suggested to delete   conditional formatting other than row height, column width and pagination in   hidden rows and columns.

    Yes

    03001

    There are calculation risks in the   cell since the divisor might be 0.

    It is suggested to perform a null   value judgment on the division calculation, e.g. =IF(B1=0, Ifinity, A1 / B1).

    No

    04001

    There are many columns of data in   this row, and it is easy to have a deep relationship between parent and   child, which affects computing performance.

    It is suggested to set the parent   cell of all data columns except the first one as the first data column, in   order to reduce the recursion depth when calculating parent-child cell   relationships.

    Yes

    05001

    There is filtering in the cells of   the data column, which will be handed over to the memory for processing. When   the result data of the dataset are large, the performance will be slow.

    It is suggested to remove the filter   in the data column cell and write the filter condition into the dataset for   filtering.

    No

    06001

    There are SQL-type functions (sql,   value, map, select) that can be expanded in cells, which may cause poor   performance due to duplicate calculations.

    SQL-type functions will additionally   perform independent calculation or execute SQL after each expansion, which   may lead to repeated fetching or repeated calculation.

    SQL-type functions will additionally   perform independent calculation or execute SQL after each expansion, which   may lead to repeated fetching or repeated calculation. It is suggested to   check whether the current cell needs expanded calculation (the calculation   content of each row is different). If the answer is no, the function can be   placed in a non-expanded cell, and a formula will reference the result of   this cell for expansion.

    No

    06002

    Cells have extended hierarchical   coordinate functions, which may lead to poor computational performance.

    The calculation performance of   hierarchical coordinates is poor. After expansion, the calculation of multiple   hierarchical coordinates may further reduce the report preview performance.   It is suggested to confirm the usage scenarios of hierarchical coordinates,   reduce the extended use of hierarchical coordinates, and replace other   methods to implement requirements.

    It is suggested to confirm the usage   scenarios of hierarchical coordinates, reduce the extended use of   hierarchical coordinates, and replace other methods to implement   requirements.

    No

    06003

    Detail data templates with large   data volume use group instead of list.

    It is suggested to modify the   leftmost parent cell of the row to list.

    No

    06004

    Detail data templates with large   data volume use group instead of list.

    It is suggested to modify the   leftmost parent cell of the row to list.

    Yes

    06005

    IF function may have double   calculation.

    It is suggested to use NVL formulas,   e.g. change IF(SQL(...) = null, aaa, SQL(...)) to NVL(SQL(...), aaa).

    No

    07001

    The amount of data in the dataset is   too large, which may take up a lot of memory and cause slow template preview.

    It is suggested to limit the   parameters used in widgets during query to avoid querying all data although   it is unnecessary, since this will affect preview performance and cause   server pressure.

    No

    08001

    Widget default value calculation   time is too long, and this may lead to slow template preview.

    The SQL function of the default   value of the widget executes too slowly. It is suggested not to use the SQL   function for the default value of the widget, but to use the   "value" function or fixed value instead.

    The SQL function of the default   value of the widget executes too slowly. It is suggested not to use the SQL   function for the default value of the widget, but to use the   "value" function or fixed value instead.

    No

    09001

    There are too many template   components currently, which may lead to slower template loading performance   due to the browser's request concurrency limit.

    Recommended merge template   components to achieve the same effect with as few components as possible.

    No

    30004

    The template background image is too   large, which may lead to slower template loading performance.

    Recommended use External Background   UI plugin (Click to get and use the plug-in link to jump)

    No

    Closing Automatic Optimization of Template

    1. Closing Automatic Optimization of All Templates

    If you do not want to automatically optimize the template, you need to log in to the platform as an administrator, click Manage > System > General, and close Template Auto Optimize

    2. Automatic Optimization of the Single Template Closing

    On the error prompt page of the template detection, tick Do not use auto optimize to close the automatic optimization of the template.

    Closing Detection

    If you do not want the template assistant to detect or optimize performance, you can use FINE_CONF_ENTITY Visual Configuration plugin and add a field.

    Field name

    Field value

    forbiddenRule

    Refer to section 2.4 of this article   for the list of detection items disabled based on table content. The field   value is the 'problem number' in the table, such as '01001, 02001' (separated   by English commas).

    Automatic Simplification of Report Block

    When designing dashboard, you may need to add a lot of components and create many small report blocks for certain styles, resulting in a sharp increase in the number of report blocks.

    Whether it is calculated in the backend or rendered in the frontend, the cost of report blocks is relatively high and it can affect preview performance. To solve this problem, Automatic simplification of report blocks is launched.

    This feature can be enabled under System > General > Automatic simplification of report blocks in the decision-making platform. After enabling, simple report blocks will be automatically converted into label and image widget, improving front-end rendering performance, but there may be slight changes in style.

    Note: You should enable template auto-optimization at the same time, and it takes effect after you resave the template.

    Attachment List


    Theme: Performance Optimization
    Already the First
    Already the Last
    • Helpful
    • Not helpful
    • Only read

    Doc Feedback