為什麼說當前報表開發的工作量主要在資料來源環節?又如何解決呢?

xiaohuihui發表於2020-06-30

我們知道,報表開發主要有兩個階段。
第一階段:資料準備。將原始資料加工成報表需要的結果集(資料來源);
第二階段:資料呈現。根據已準備的結果集(資料來源)編寫表示式將資料以表格或圖形方式呈現。

這兩個階段雖然處於同一報表開發過程,但實現方式卻大不相同。

通常原始資料距離報表“能用”還相去甚遠,透過 SQL/JAVA/ 儲存過程等編碼方式準備報表可用的資料來源是第一階段的目標,過程中可能涉及複雜的資料處理過程,因而這個階段會牽扯較多的精力,佔用的工作量也多。

資料來源準備好後,透過報表工具來解決資料以何種方式(圖表)、何種樣式(外觀)呈現的問題,透過點選設定、編寫少量表示式就可以快速完成,實現簡單,佔用的工作量也少。

可以說,報表開發的工作量主要在資料處理(計算),資料處理後如何呈現,透過工具可以快速完成。

那是不是報表呈現階段就不涉及資料處理了呢?
並不完全是這樣。

早期報表開發
大概 2015 年以前,報表呈現方式主要以表格(或圖表混合)為主,這時透過報表工具實現時就會涉及一定的資料計算,如分組彙總、多源分片、格間計算(同比環比)等。如下圖所示:

6PNG

計算分佈在資料準備和資料呈現兩個階段,兩個階段的工作量相當(各佔 50%)。這個時期,資料準備階段可以把資料準備得“粗糙”一些,然後利用報表工具的計算能力在呈現階段將資料進一步加工成目標結果進行呈現。比如,我們在資料準備階段完成關聯過濾,再在報表呈現模板中按多個維度分組彙總;或者在呈現模板中計算同比環比。

當前報表開發
隨著報表工具的逐漸成熟,報表工具提供了更豐富的圖形(型別和效果),報表選擇圖形呈現幾乎與表格佔比相當了(佔比仍在增長)

7PNG

使用圖形呈現,由於沒有“格子”,就無法利用報表工具的計算能力在呈現模板中完成資料處理,而圖形本身並不具備計算能力(不包括硬編碼),這時自然而然就要在資料準備階段將前端需要的資料完全準備好,前端工具接收資料直接圖形呈現。
圖形設定基本沒什麼工作量,而後端資料來源的準備工作就佔了大頭,資料呈現和資料準備所佔的工作量佔比約為 20%:80%。

當前報表開發的工作量主要在資料來源端(資料準備階段),要提升報表開發效率,勢必要解決報表資料來源準備效率問題。這也是為什麼很多時候用上了一流的報表工具,但報表開發的工作量仍然很大的原因。

如何提升報表資料來源端的開發效率,從而整體降低報表開發工作量?

借鑑報表開發的發展歷史,或許可以獲得一些思路。
早期,報表開發靠完全硬編碼,無論資料準備還是報表呈現,後來報表工具出現替代了硬編碼方式,將報表呈現階段的開發工具化,解放了報表呈現階段的人力(你可以感受一下寫程式碼畫報表比用工具做麻煩多少)。

按照這個思路,用工具替代硬編碼就可以提高生產效率,將資料準備階段工具化就可以解決報表資料來源的開發效率,從而進一步提升報表整體開發效率。

8PNG

資料準備工具可以是獨立的,也可以包含在報表工具內部,後者要求報表工具的能力能夠延伸到資料來源層面。在選擇報表工具時,不妨多考察一下工具的資料處理能力。

參考資料:

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69900830/viewspace-2701338/,如需轉載,請註明出處,否則將追究法律責任。

相關文章