小張是一家公司的財務(wù)經(jīng)理,需要分析年末的財務(wù)報告,小張就開始對財務(wù)數(shù)據(jù)進行處理并制作報告。可是在查看報告時卻發(fā)現(xiàn),僅僅480W的明細數(shù)據(jù),報告加載就用了1分鐘左右才展示出來。心想,難道要讓老板去查看這么慢的報告嗎?于是,他用永洪報表工具里制作報告模塊的檢測性能功能,排查到報表中有3個表達式是js表達式,沒有下推到數(shù)據(jù)庫執(zhí)行導(dǎo)致報表性能很慢,最后他按照性能檢測中的建議將這幾個表達式改為了SQL表達式,再次打開報表時用了2秒鐘左右就打開了報表。
的確,在制作大數(shù)據(jù)分析報表的時候,最怕遇到報表加載慢、卡頓等性能問題。有時,別人上億數(shù)據(jù)量的報表即點即看,自己千萬級數(shù)據(jù)量的報表卻要加載幾分鐘,看著轉(zhuǎn)圈的加載圖標空悲嘆。那么我們應(yīng)該用什么報表工具以及如何制作出高性能的報表呢?
永洪報表工具通過匯總分析客戶的有效反饋,在新產(chǎn)品中推出了靜態(tài)檢查報表性能的功能。用戶在制作報表時,系統(tǒng)就會對報表性能進行靜態(tài)檢測,告知用戶哪些地方會影響報表展示并給出合理的建議。
報表性能檢測原因分為三類,包括系統(tǒng)原因、報表原因和數(shù)據(jù)集原因。當報表中存在這三類原因中的任何一種時,報表右上角的“檢測性能”上會出現(xiàn)小紅點提醒,用戶可以點擊“檢測性能”查看具體原因和建議,并可以點擊“檢測性能”中的“下載”將所有性能慢的原因以Excel格式導(dǎo)出,如下圖所示:
當用戶將檢測性能中列出的所有問題按給出的建議全部修改后,紅點就會消失。
報表性能檢測頻率可以通過系統(tǒng)設(shè)置->系統(tǒng)參數(shù)配置->基本參數(shù)配置中的 db.performance.test.interval 屬性控制,如下圖所示:

該值默認為60s,即每分鐘對報表性能檢測一次,用戶也可以手動修改該值,修改后將按修改后的值進行檢測。
比如用戶在對維度列進行篩選時,產(chǎn)品默認顯示的值是1萬,超過1萬的值不會再顯示。一是我們認為一般情況下,維度值不會超過1萬;二是對于過濾組件來說,產(chǎn)品有個功能是計算過濾組件之間的聯(lián)動關(guān)系,值太大時,計算聯(lián)動關(guān)系需要的內(nèi)存會很大,對客戶端的壓力會增大,所以我們將過濾組件和參數(shù)組件默認顯示的值設(shè)成了最大是1萬。如果用戶將系統(tǒng)的這個屬性改成了10萬,會將此信息收集到報表制作的系統(tǒng)原因中。
在報表端我們會做各種計算,比如綁定了報表端新建的計算列,組件上的分組和匯總,組件上的過濾等。一旦有任何一種計算不能下推到數(shù)據(jù)庫或集市進行計算,我們會將其收集到報表原因中。還有一些報表制作的原因,比如正常情況下,不會查詢?nèi)繑?shù)據(jù),對于小張的例子來說,默認情況下他只用查詢本年度的財務(wù)報告就可以了,所以他完全可以在篩選條件上設(shè)置默認值為本年,這樣會大大加快報表打開的速度。所以對于查看報告時,查詢?nèi)繑?shù)據(jù)的情況,我們也會及時提醒并給出建議。
報表的數(shù)據(jù)綁定依賴于數(shù)據(jù)集,當數(shù)據(jù)集(SQL數(shù)據(jù)集/自服務(wù)數(shù)據(jù)集/組合數(shù)據(jù)集)上有不能下推到數(shù)據(jù)庫執(zhí)行的列/操作或者過濾中的過濾條件不能下推到數(shù)據(jù)庫中執(zhí)行時,會將此信息收集到數(shù)據(jù)集原因中。
對于數(shù)據(jù)集原因,用戶也可以在創(chuàng)建數(shù)據(jù)集時就會數(shù)據(jù)集進行性能檢測,從而提升數(shù)據(jù)集加載性能繼而提升報表性能。
想要知道系統(tǒng)原因、報表原因和數(shù)據(jù)集原因這三個分類下,更多導(dǎo)致性能問題的原因,請到我們官網(wǎng)試用我們最新的永洪報表工具V8.8版本去試用并查看。
永洪報表工具的報表性能檢測,有助于幫你分析報表性能原因,從而讓報表展示的更加快速。還在等什么呢?趕緊用起來吧!
疫情期間
免費使用Yonghong Desktop