李欣烊
上汽通用五菱汽車股份有限公司 廣西 柳州 545000
現(xiàn)階段實(shí)現(xiàn)報(bào)表的方式可分為:直接通過網(wǎng)頁、通過第三方控件;而第二種方式更為流行,其包括ReportViewer、OpenReports、類Excel報(bào)表軟件等,我們今天將要介紹的就是類Excel報(bào)表軟件中的FineReport,其極大的產(chǎn)品優(yōu)勢(shì)成為眾多企業(yè)數(shù)據(jù)展示的首選工具。
不可否認(rèn)的是目前人們最開始接觸、也是最多接觸的報(bào)表就是Excel,所以FineReport給用戶提供了更為熟悉的開發(fā)場(chǎng)景,而且FineReport有著免費(fèi)的學(xué)習(xí)文檔視頻和論壇,一般用戶都能夠很快地了解設(shè)計(jì)器的使用方法[1]。
圖1 社區(qū)首頁
如Excel一樣,F(xiàn)ineReport 有通過綁定功能,哪怕是簡(jiǎn)單的拖拽也能符合用戶的開發(fā)需求,不需要復(fù)雜的代碼編寫基礎(chǔ),這也極大地降低了開發(fā)者的學(xué)習(xí)成本,同時(shí)也提升了開發(fā)效率。
多元化的設(shè)計(jì)方式使得開發(fā)者可針對(duì)不同需求的用戶開發(fā)不同類型的報(bào)表,如制造部門和物流部門,兩個(gè)不同的業(yè)務(wù)需求雖然在同一個(gè)設(shè)計(jì)器下進(jìn)行開發(fā),但是可以實(shí)現(xiàn)不同功能的開發(fā)模板,能夠充分的滿足需求。
目前企業(yè)不僅要求報(bào)表的精準(zhǔn)度,更新速度,美觀度也成為主要優(yōu)勢(shì),這也是為了更好地進(jìn)行數(shù)據(jù)展示,進(jìn)而更加簡(jiǎn)單的理解和分析數(shù)據(jù)結(jié)構(gòu),F(xiàn)ineReport不僅包含了常見的柱形圖、扇形圖、折線圖等,其支持動(dòng)態(tài)顯示和超級(jí)鏈接等功能,更加全方位、多維度的展示數(shù)據(jù),滿足用戶的需求[2]。
目前許多企業(yè)對(duì)系統(tǒng)數(shù)據(jù)的展示是通過將系統(tǒng)中的數(shù)據(jù)導(dǎo)出為Excel,進(jìn)而將Excel中的數(shù)據(jù)提取篩選,通過透視表或者其他平臺(tái)錄入數(shù)據(jù)完成可視化報(bào)表的制作,這也不得不使得數(shù)據(jù)的呈現(xiàn)多了導(dǎo)出和篩選的操作,也大大降低了數(shù)據(jù)展示的效率,增加了人工成本。
FineReport 是由Java編寫的,具有多維數(shù)據(jù)分析平臺(tái),能夠采集前段、后端和歷史產(chǎn)生的所有數(shù)據(jù)。數(shù)據(jù)集來源可以多樣化,能夠支持Mysql、SQL Sever 、Access等多種常用數(shù)據(jù)庫,本次就以Mysql為例進(jìn)行驗(yàn)證。對(duì)于企業(yè)系統(tǒng)來講,一般所產(chǎn)生的數(shù)據(jù)量較大,種類較多,所以需要數(shù)據(jù)庫服務(wù)器來完成數(shù)據(jù)的存放。FineReport可通過配置工作目錄進(jìn)行遠(yuǎn)程服務(wù)器的鏈接,完成數(shù)據(jù)源的提取[3],如圖2所示。
圖2 遠(yuǎn)程服務(wù)器配置
點(diǎn)擊“測(cè)試連接”若顯示“連接成功”,說明在此工作目錄下已經(jīng)連接了服務(wù)器,并能夠獲取此服務(wù)器下的數(shù)據(jù)源。
還有一點(diǎn)需要提及的是,由于企業(yè)中的系統(tǒng)較多,如果創(chuàng)建多個(gè)工作目錄連接多個(gè)遠(yuǎn)程服務(wù)器,后續(xù)對(duì)于目錄的切換是較為煩瑣的,所以在此之前還需要操作的就是將各企業(yè)系統(tǒng)中的服務(wù)器數(shù)據(jù)抽取到數(shù)據(jù)中臺(tái)(Mysql數(shù)據(jù)庫),在這里可以將數(shù)據(jù)進(jìn)行第一步的加工處理過濾,只抽取我們需要的字段,這樣既可以統(tǒng)籌管理數(shù)據(jù),不影響原服務(wù)器的數(shù)據(jù),也可以只將FineReport 連接數(shù)據(jù)中臺(tái),減少切換的煩瑣。
連接完數(shù)據(jù)庫服務(wù)器,接下來就要新建報(bào)表模板,這里與我們熟悉的Excel相似,所以應(yīng)用起來較為容易。建完表后需要添加我們所需數(shù)據(jù)的數(shù)據(jù)源,在這里需要通過SQL語句對(duì)服務(wù)器中的數(shù)據(jù)進(jìn)行二次過濾,只篩選本報(bào)表下所需的數(shù)據(jù);
這樣我們?cè)谀0鍞?shù)據(jù)集中就可以看到名為“ds1”的數(shù)據(jù)集,點(diǎn)開數(shù)據(jù)集就可以獲得我們所需要的字段數(shù)據(jù),對(duì)于數(shù)據(jù)可視化來講,“決策報(bào)表”具有更強(qiáng)的靈活性,就像一張畫布一樣,我們可以盡情地設(shè)計(jì)想要的模板[4]。決策報(bào)表如圖3所示:
圖3 設(shè)計(jì)工具展示
工具欄中的“參數(shù)”“空白塊”“圖表”和“控件”給我們提供了更為便捷的模板設(shè)計(jì)條件,而且只需要進(jìn)行“托拉拽”的鼠標(biāo)操作即可完成圖片、控件的添加,將我們需要展示的圖表拖拽到畫布內(nèi),圖表的數(shù)據(jù)來源就是我們左側(cè)所提取的數(shù)據(jù)集,依照分類、系列名等維度將數(shù)據(jù)展示在圖表當(dāng)中,預(yù)覽圖表后會(huì)發(fā)現(xiàn)自動(dòng)跳轉(zhuǎn)到Web頁面進(jìn)行報(bào)表可視化的展示,那么接下來將要做的就是將各類圖表進(jìn)行排版,強(qiáng)化美觀度,對(duì)數(shù)據(jù)、圖表微調(diào)以達(dá)到理想的展示效果,如圖4所示展示狀態(tài):
圖4 狀態(tài)展示
數(shù)據(jù)的準(zhǔn)確性是數(shù)據(jù)展示的根本要求,也是對(duì)數(shù)據(jù)正確分析和決策的必要條件,因此在做完展示報(bào)表的情況下,下一步就是要對(duì)展示出來的數(shù)據(jù)進(jìn)行驗(yàn)證,我們可將企業(yè)系統(tǒng)服務(wù)器中的數(shù)據(jù)導(dǎo)出,比如我們?cè)陂T禁系統(tǒng)中導(dǎo)出本日訪客數(shù)量,然后與我們所制作的報(bào)表進(jìn)行對(duì)比,檢查報(bào)表開發(fā)邏輯是否正確[5]。
不難發(fā)現(xiàn),其實(shí)我們的時(shí)間主要用于模板設(shè)計(jì)器的開發(fā),一旦開發(fā)完成用戶所需求的模板,便可用此模板自動(dòng)將數(shù)據(jù)進(jìn)行可視化,數(shù)據(jù)是自動(dòng)提取的狀態(tài),這也降低了報(bào)表維護(hù)的時(shí)間成本。其次,我們的數(shù)據(jù)源直接來源于服務(wù)器,當(dāng)我們對(duì)數(shù)據(jù)篩選邏輯無誤的情況下,一定程度上降低了由于人為失誤導(dǎo)致的報(bào)表數(shù)據(jù)展示錯(cuò)誤,增加了準(zhǔn)確性。最后,多樣化、豐富的展示模型成為賞心悅目的亮點(diǎn),動(dòng)態(tài)的圖表顯示更為生動(dòng)地體現(xiàn)了目前數(shù)據(jù)的狀態(tài),在數(shù)據(jù)匯報(bào)、查詢、展示的層面上可謂卓越有效。