1. 概述
1.1 版本
報表伺服器版本 | 內建範本檢查助手插件版本 | 功能變動 |
---|---|---|
11.0 | V1.0.0 | - |
11.0.2 | V1.1.0 | 範本檢查助手的結果頁面新增「功能建議」Tab 範本檢查助手的結果頁面樣式優化 可關閉單個範本的自動優化 可關閉範本檢查助手的特定檢查項 |
11.0.4 | V1.2.18 | 新增匯出列印檢查功能 |
1.2 應用場景
範本開發人員水平不一,導致開發程式中出現較多效能問題。使用者對已開發的範本改動意願不高。
1.3 功能簡介
為了降低新增範本效能問題的發生概率,帆軟提供「範本檢查助手」,幫助使用者對範本進行效能檢查,並提供優化建議。
該功能由產品預設安裝的「範本助手」插件提供。
注:不支援 FVS視覺化看板。
2. 操作步驟
2.1 觸發檢查方式
2.1.1 手動觸發
範本檢查助手
2.1.2 儲存檢查
開啟一張未做過檢查的 cpt 範本,進行修改並儲存後,將自動對範本進行檢查。
2.1.3 預覽檢查
開啟一張未做過檢查的範本,對範本進行預覽(支援所有預覽方式),將自動對範本進行檢查。
預覽後關閉範本再次開啟範本,「檢查錯誤提示」按鈕(本文2.2節)才會出現。
2.1.4 其他說明
檢查程式中發生中止操作則中止檢查(如關閉設計器、切換工作區間),下次正常預覽或儲存時再重新觸發檢查。
手動點選「範本檢查助手」前,若範本未儲存,先觸發範本儲存提醒。
預覽檢查方式下:檢查未完成時,再次發生預覽不觸發第二次檢查,如果再觸發儲存將中止未完成的檢查重新開始。
2.2 檢查錯誤提示按鈕
2.2.1 按鈕樣式介紹
檢查錯誤提示
檢查錯誤提示
生成檢查結果後,下次再開啟範本,【檢查錯誤提示】按鈕依然存在。
2.3 檢查錯誤提示頁面
若檢查到效能問題,【修改建議】和【自動優化】兩個 Tab 頁將根據範本實際情況單獨展示或組合展示。
功能建議:針對範本情況向使用者推薦可以優化該範本效能的功能。
2.3.1 無效能問題
若暫未檢查到效能問題,檢查結果頁面如下圖所示:
2.3.2 修改建議頁面
如下圖所示:
2.3.3 自動最佳化頁面
如下圖所示:
2.3.4 功能建議
如下圖所示:
2.3.5 檢查失敗
檢查失敗時顯示報錯彈窗提示:檢查出現錯誤,請在日誌中查看失敗原因。如下圖所示:
2.4 是否自動優化
是否對範本進行自動優化如下表所示:
問題編號 | 問題內容 | 建議方案 | 是否自動最佳化 |
---|---|---|---|
01001 | 資料集存在冗餘取數列,檢查到僅有XX、XX、XX資料欄實際被使用。 | 建議修改sql,減少所取資料欄,僅保留需要的資料欄。 | |
02001 | 儲存格存在冗餘條件屬性,相關條件屬性計算已在其父格中重複進行。 | 建議刪除儲存格中與父格一緻的條件屬性計算。 | |
02002 | 儲存格存在冗餘過濾條件,相關過濾條件計算已在其父格中重複進行。 | 建議刪除儲存格中與父格一緻的過濾條件計算。 | 否 |
02003 | 隱藏列欄中包含部分無意義的條件屬性計算。 | 建議刪除隱藏列欄中列高、欄寬及分頁以外的條件屬性。 | 是 |
03001 | 儲存格存在除數為0計算風險。 | 建議對除法計算進行空值判斷,例如=IF(B1=0, Ifinity, A1 / B1)。 | 否 |
04001 | 此行記憶體在較多列資料,容易出現父子格關系過深影響計算效能。 | 建議將除第一個資料欄以外的其他資料欄都設定父格為第一個資料欄,以減少計算父子格關系時的遞迴呼叫深度。 | |
05001 | 資料欄儲存格中存在過濾,將交給記憶體處理,當資料集結果資料較多時將導緻效能慢。 | 建議去除資料欄儲存格中的過濾,將過濾條件寫入資料集中進行過濾。 | |
06001 | 儲存格存在擴展的SQL類函式sql,value,map、select),可能出現重複計算導緻效能差。 | SQL 類函式在每一次擴展後都會額外進行獨立計算或執行sql,可能導緻重複取數或重複計算建議排查當前儲存格是否需要擴展計算(每行計算內容不同),如不需要可將 SQL 類函式放在非擴展儲存格結果用於擴展。 | |
06002 | 儲存格存在擴展的層次座標函式,可能導緻計算效能差 | 層次座標的計算效能較差,在擴展後多個層次座標計算可能進一步降低報表預覽效能 建議確認層次座標函式的使用場景,減少層次座標擴展使用,更換成其他方式實現需求 | 否 |
06003 | 大數據量明細範本使用分組而不是列表 | 建議將明細表所在行的最左父格修改為列表 | 否 |
06004 | 大數據量明細範本使用分組而不是列表 | 建議將明細表所在行的最左父格修改為列表 | 是 |
07001 | 資料集資料量過大,可能佔用較多的記憶體並導緻範本預覽慢 | 建議在元件中對範本查詢時使用的參數進行限制,避免出現不必要的查詢全部資料場景,影響預覽效能造成伺服器壓力 | 否 |
08001 | 元件預設值計算時間過長,可能導緻範本預覽慢 | 元件預設值的sql函式執行過慢 建議元件預設值不要使用sql函式,改為使用value函式或固定值 | 否 |
2.5 關閉範本自動優化
2.5.1 所有範本關閉自動優化
【管理系統】→【系統管理】→【標準】,關閉【範本自動最佳化】
2.5.2 單個範本關閉自動優化
在範本的檢查錯誤提示頁面中,勾選「不使用自動優化」按鈕,可關閉該範本的自動優化。如下圖所示:
2.6 關閉檢查項
若一些問題使用者不希望範本助手進行檢查或優化,可使用 FINE_CONF_ENTITY視覺化配置 插件,增加一個欄位即可。
欄位名 | 欄位值 |
---|---|
forbiddenRule | 參考本文第二章節第4小節表格內容決定禁用的檢查項,欄位值為表格中的【問題編號】,譬如:【01001,02001】(使用英文逗號分隔)。 |
3. 報表塊自動簡化
設計決策報表時,往往需要新增非常多的組件,並且經常會為了某些樣式做很多小的報表塊,導致報表塊數量急劇上升。
報表塊不管是在後端計算還是前端渲染的成本都相對比較高,會影響預覽效能。為了解決這個問題,官方推出了「報表塊自動簡化」功能。
該功能可在決策平台管理系統「系統管理>標準>報表塊自動簡化」下開啟,開啓後自動將簡單報表塊轉換成標籤元件及圖片元件,提升前端渲染效能,但樣式上會有略微變化。
注:需同時開啟範本自動優化,且在重新儲存範本後生效。