程式碼寫過300張視覺化,為什麼建議你用報表工具開發資料大屏?

傑華園發表於2020-11-19

資料視覺化大屏被廣泛地應用到多種業務場景,比如 集團經營駕駛艙、智慧運營中心、應急指揮中心、安全監控中心、物業監控中心、交通物流排程中心、金融交易中心等等。

確實,深有感觸,作為一個開發過300多張報表的工程師(俗稱表哥),這兩年發現業務提的需求,關於視覺化得越來越多,一些駕駛艙、資料大屏的需求更為尤其。

做一張大屏要花費近一個月,做技術也總是吐槽小白們喜歡“花裡胡哨”。但在業務和高層看來,這種主題式的,羅列業務核心關鍵指標,實時反應動態,確實是監督業務的一種好方式。

我之前在一家證券公司做過幾張資料大屏。透過數倉將資料從源業務系統採集下來,資料清洗梳理後以報表的方式生成報表展示,統計成交額、成交量、消戶數等重點指標形成一個運營監控大屏。

因為券商和銀行每日有很重要的對賬,每日轉出轉入多少資金,對於監控銀證業務非常有用,每一筆有沒有超時,有的客戶說到賬率慢,這個可以很好的監控出來,而且已經做到了實時監控。

大屏掛在業務部門,領導過來一看就知道今天交易情況如何,營銷運營效果如何,這個對於高層領導來說是很有意義的。

程式碼寫過300張視覺化,為什麼建議你用報表工具開發資料大屏?

那麼如何開發資料大屏?

網上鋪天蓋地的說辭,但凡是能做圖表的都會說能做大屏。

這裡只是說了前端,實際開發,資料從哪來?如何彙總,資料的口徑,指標的定義,資料的實時性重新整理率,用哪些硬體裝置,大屏如何設計,還有效能等後端問題都是需要考慮的。我是做技術的,就從技術角度來說說。

常規的資料視覺化方法我們可以選擇直接讀取資料庫,透過繪圖軟體/庫進行繪製,深入寫html、css、js 程式碼,在過程中引入Echarts、Hicharts等流行的視覺化,然後設計、適配最終構成自建的前端顯示效果。

除此以外,追求效率可以選擇成熟的視覺化平臺,比如SaaS化的阿里DataV,還有BI報表套件FineReport。這類套件往往具有一系列的圖表模板+支援推拽且視覺化的配置頁面,方便我們快速地構建出視覺化大屏。

還有一種是找外包開發定製,但實際開發無非也就是上述技術。

如果是企業內部自行開發,或者專為甲方批次定製,建議採用效率較高的報表工具來開發,比如FineReport。

原因一:前端呈現效果基本能覆蓋

大屏的視覺化呈現效果是整個專案的門面,內部經常把大屏專案稱為“一把手專案”,因為看或使用大屏的往往是企業的高層決策人員,所以其呈現效果和個性化程度自然要求更高。

大屏資料展現,本質上還是駕駛艙頁面,由表格、圖形、控制元件等元素組成,每個元素都可以視作是一個單獨的元件。

大屏的視覺化,本質上還是駕駛艙頁面,由表格、圖形、控制元件等元素組成,自然想到市面上各種開源而豐富的庫。

但是以我實際專案經歷,大部分常規業務大屏用到的都是常見的基本圖形,如柱狀及其柱狀圖、折線圖、餅圖及其複合圖形;配以地圖、指標卡、文字元件、動態的表格資料輪播等;另外一些特定模型場景,如生產車間,生產模型可能會用到高階的三維立體圖形,以及一些3D輪播動效等。

程式碼寫過300張視覺化,為什麼建議你用報表工具開發資料大屏?

這些報表工具FineReport基本能滿足,自己本身自帶五六十種圖表樣式,配置有鑽取、聯動、高亮、輪播、滾動等動態特效。

更何況提供了一個視覺化開發的平臺,拖拉拽元件構建,基本零程式碼。個性化的圖表需求,如工業3D,園區3D,GIS地信等專案,提供完整介面直接對接專業圖表或外掛。

相比如程式碼開發,資料傳遞,構建畫布,設計佈局,縮放元件,元件動效等都需要一行一行程式碼開發,回頭適配硬體時還要一個個調。

程式碼寫過300張視覺化,為什麼建議你用報表工具開發資料大屏?

程式碼寫過300張視覺化,為什麼建議你用報表工具開發資料大屏?

另外,大屏需要投到LED電子屏上,不同螢幕的解析度往往不同,這就需要在開發的時候針對解析度進行調整以保證呈現效果,這個是最費時間的,以前用程式碼定製基本要話50%的時間去除錯。

這一點FineReport有針對大屏的自適應佈局,減輕了不少開發工作量。這個機制,設計一次模板,即可支援PC、平板、手機、大屏等多終端自適應展示。

原因二:後端有資料和平臺效能保障

大屏的資料哪裡來,怎麼保持其準準確性,如何圍繞業務核心指標梳理資料,這些一般需要後端有資料倉儲進行來做後盾保障。

比如我碰到過一個專案需要同時要從多個資料來源中取數,並且還要做關聯計算,大屏頁面他們已經設計好,但是資料卻取不上來,原因是沒有後端保障啊。

資料沒有整合,資料未ETL清洗,有的資料來源甚至沒有直接的介面需要檔案匯入。

另外,資料大屏實時顯示的重新整理頻率很高,這就要求後臺的資料處理能力足夠強以確保前端資料變化的頻率可以滿足需要。

有時大屏還需要顯示實時資料,這時就需要歷史資料(往往存在資料倉儲)和實時資料(生產系統)進行混合計算後高效輸出到大屏進行呈現。

所以大屏做為一個資料前端應用一方面要能對接得了資料倉儲或大資料平臺,另一方面也需具備計算響應資料的高效能。

試問,一個定製開發的大屏需要對接1000萬級的資料,重新整理一個元件要10分鐘,多麼影響效率,若還要在後端開發適配效能,這個工作量和成本還不如直接用報表工具。

所以說像FineReport這類本身就是支援對接各種資料平臺的工具,既具備前端報表視覺化製作的能力,也具備後端資料計算引擎,能對接得上高效能、大資料,何樂而不為呢?

原因三:開發效率和維護成本相對低

上述有提過,用報表工具FineReport開發資料大屏效率高,主要體現在:

操作拖拽零程式碼:

  • 畫布式介面,元件拖拽式操作,可實現元件內重新整理(區域性重新整理),支援元件隱藏,支援元件堆疊,且不同元件擴充套件獨立。
  • 多種佈局方式:自適應佈局,絕對佈局,Tab佈局,支援多tab輪播,
  • 提供多種圖表、控制元件、表格等元件,不同元件可對應不同主題,繫結不同資料來源,實現多維分析型管理駕駛艙
程式碼寫過300張視覺化,為什麼建議你用報表工具開發資料大屏?

最後

總的來說,大屏要想做得好,前端效果主要靠定製開發,後端效能要選擇適合的工具。隨著大屏越來越常規化,開發效率以及資料效能保障都是除視覺化之外更重要的因素。

如果你們公司有資料倉儲或資料平臺的基礎,在完善報表體系的同時,不妨用報表來開發資料大屏。


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

相關文章