這個低代碼報表開發(fā)平臺,操作類似Excel,用好了不需要加班(低代碼開發(fā)平臺介紹)
現(xiàn)在低代碼開發(fā)平臺很火,能夠通過零代碼或少量代碼就可以快速創(chuàng)建應(yīng)用。
但是從實踐結(jié)果來看,完全的零代碼開發(fā)應(yīng)用是不可能的,機器替代人類智慧還需要很長的路要走。但是介于兩者之間的低代碼模式開發(fā)應(yīng)用是值得嘗試的,現(xiàn)在很多企業(yè)級應(yīng)用都是低代碼,甚至很多定制場景也不需要太多高深的代碼就能搞定。
就我從事的數(shù)據(jù)領(lǐng)域,報表開發(fā)這一項工作近十年來因為低代碼平臺的出現(xiàn),有了很大的改觀。BI報表開發(fā)中一些復(fù)雜的邏輯可能只需要幾個公式或者幾句JS就能輕松搞定。從產(chǎn)品開發(fā)上來講,其本質(zhì)就是提效。一方面是對開發(fā)人員的提效,另一方面是對使用者的提效。
以往我們IT開發(fā)報表,一開始用Excel處理,后來寫PHP來開發(fā),再者用java的一些開源組件來開發(fā)。用代碼開發(fā)報表能很快的解決點對點的需求,但是作為長期工作,你要對接數(shù)據(jù)庫,還要收集數(shù)據(jù),做報表維護,到后面基本就是堆人力寫代碼。
當(dāng)一項業(yè)務(wù)成熟之后,自然就會有將技術(shù)平民化的管理系統(tǒng)出現(xiàn),比如報表系統(tǒng)。我們在零幾年的時候就開始嘗試使用一些國外的BI報表系統(tǒng),比如水晶、BO,還嘗試了一些開源的jaspereport,birt。能減少代碼開發(fā)投入,自主開發(fā)報表。
隨著企業(yè)的發(fā)展和數(shù)據(jù)業(yè)務(wù)龐大,數(shù)據(jù)逐漸承載企業(yè)的管理業(yè)務(wù),很多需求比如實時風(fēng)險監(jiān)控,各種經(jīng)營報表以及各種數(shù)據(jù)應(yīng)用(體現(xiàn)在報表和業(yè)務(wù)分析上),也逐漸有了數(shù)據(jù)、報表權(quán)限和數(shù)據(jù)填報流程。
這個時候就要從自身管理體系出發(fā),要求產(chǎn)品功能能夠符合企業(yè)的管理思想,然后逐漸開始使用符合一些流程上管理的平臺系統(tǒng)(國內(nèi)做這塊比較陳述),帆軟報表平臺FineReport。
在開發(fā)效率方面,F(xiàn)ineReport是一個通用的報表工具,報表開發(fā)、填報、可視化展示的需求基本都能滿足,涉及到一些業(yè)務(wù)的定制有接口,可以插件化的定制開發(fā)比如單點登錄OA。對于使用者,報表因為有了承載的平臺,使用者比如業(yè)務(wù)和管理者只要登錄平臺系統(tǒng)就可以查看分析。
具體來看:
1、可視化SQL語句編輯面板
做報表要取數(shù),取數(shù)都是寫SQL,一般視復(fù)雜程度幾十到幾百行不等,更重要的是需要熟悉數(shù)據(jù)庫和表,不然你都不知道要取什么數(shù)。
FineReport低代碼的第一點,就是有一個可視化SQL語句編輯面板,在與數(shù)據(jù)庫鏈接成功后能看到數(shù)據(jù)庫表和字段,然后拖拽數(shù)據(jù)表和字段到編輯頁面就可以生成SQL語句,避免一行一行寫,就像像一個內(nèi)置的navicat。能減少不少工作量。
2、可視化報表模板設(shè)計器
讀完庫取完數(shù)之后就是作報表。
FineReport的主面板就是表格模板設(shè)計器,表格式、功能操作、函數(shù)等都類似Excel,不同點在于Excel是對單個數(shù)據(jù)操作,這里是對數(shù)據(jù)字段操作,將需要的數(shù)據(jù)字段拖到表格中,再配以各種可視化的屬性設(shè)置。
設(shè)計器針對有三種報表設(shè)計模式:普通報表、聚合報表、決策報表。
普通報表模式最貼近Excel,用來做大部分報表包括基礎(chǔ)報表、中國式復(fù)雜報表,運算上更多SHEET和跨SHEET計算,兼容EXCEL公式。
聚合報表模式用來做一些不規(guī)則的報表,像運單表,一些保險單之類的,這種報表要頻繁的合并、拆分單元格,工作極其繁瑣。
決策報表模式用來做可視化儀表板、駕駛艙、管理看板等,就像一個空白畫布,把各種可視化圖表拖拽到界面搭建儀表板。
3、參數(shù)查詢可視化設(shè)置
企業(yè)報表應(yīng)用,除了最簡單的展示類報表外,查詢報表往往用的最多,各部門各業(yè)務(wù)團隊都要查數(shù)據(jù)查報表的需求,這就會用到查詢報表。之前代碼開發(fā)往往是賦一個參數(shù)去對應(yīng)數(shù)據(jù)表或字段,這就有個問題,參數(shù)多了不好管理,換一個人來迭代報表就要重新熟悉。
FineReport有可視化的參數(shù)設(shè)置界面,能夠零代碼定義參數(shù),綁定查詢控件,直接定義出查詢界面,使用者就通過界面輸入查詢條件,來顯示報表內(nèi)容。
控件類似Excel甚至更豐富,有文本、文本域、數(shù)字、密碼、按鈕復(fù)選框、復(fù)選框組、單選按鈕組、日期下拉框、下拉復(fù)選框、時間、多文件上傳列表、網(wǎng)頁框、下拉樹、表格樹和視圖樹等多種控件類型,支持預(yù)定義控件、自定義控件等。
4、駕駛艙可視化構(gòu)建
上文提過決策報表模式下可以做可視化儀表板、駕駛艙、管理看板。原理也是通過組件拖拽操作來快速制作組件式報表。這在以往代碼開發(fā)上,都是需要寫JS來調(diào)用前端可視化庫,后端鏈接數(shù)據(jù)。FineReport直接可視化操作,可以直接適應(yīng)屏幕大小和分辨率,設(shè)計布局和交互,方便許多。
5、移動決策平臺編碼生成
移動端是企業(yè)報表應(yīng)用的一大趨勢,以往的開發(fā)需要PC端和移動端分別開發(fā),為了適配公司APP的報表展示,我們還特地找了一個移動開發(fā)同事,移動端還分為安卓系統(tǒng)和IOS系統(tǒng),需要配三套不同的人馬。后來這個平臺能直接適配,零代碼操作,界面化配置、自動打包,還可以實現(xiàn)自我版本管控集成方式。
另外還有一些其他低代碼開發(fā)報表的功能這里就不多贅述了。
可以看到,低代碼開發(fā)對于效率的提升,能力的解放是很明顯的,起碼在我熟知的數(shù)據(jù)領(lǐng)域,比如還有數(shù)據(jù)需求管理平臺,指標(biāo)管理平臺,數(shù)據(jù)治理平臺等。
一套優(yōu)秀的軟件離不開兩個核心要素:編程能力和業(yè)務(wù)知識,這就要求優(yōu)秀的技術(shù)團隊深刻理解業(yè)務(wù)或業(yè)務(wù)人員熟悉技術(shù)邊界。
世界上不存在完全相同的管理模式,即使是范疇很小的數(shù)據(jù)報表每個企業(yè)都有其獨特的需求,集中體現(xiàn)在幾個問題上:
1、需求難以確定,始終有新需求提出,不斷修改從而面目全非。
2、客觀條件的不確定性,報表開發(fā)是一個不斷的過程,期間人員流動、資源調(diào)整等種種變化都會加大這個項目的成本,減低效率
所以平臺就需要滿足以下幾個需求:
1、靈活,不拘泥于業(yè)務(wù)(不同項目、業(yè)務(wù)領(lǐng)域)必須全部通吃。
2、快速,極快的功能實現(xiàn)速度。
3、穩(wěn)定,不挑食但要能全部消化。
我初覺這樣的系統(tǒng)似乎遙不可及,但我舉例的FineReport就是一個典型范例。
天下武功唯快不破,實現(xiàn)開發(fā)快、變動快、維護快才能解決現(xiàn)有軟件開發(fā)的困境。
不過,使用低代碼/無代碼平臺也許需要的開發(fā)者更少了,但是對于人的要求卻更高了:一方面要對業(yè)務(wù)非常了解,一方面又要對數(shù)據(jù)和開發(fā)非常通透,最后要能把從需求到開發(fā)串聯(lián)起來。這對于我們這一行也是一種進度,IT需要更熟悉業(yè)務(wù),需要更明確數(shù)據(jù)價值。
想獲得低代碼工具,看評論。