我要講一個(gè)自己的故事。 前幾年,大學(xué)畢業(yè),剛成為社會(huì)人。每一天,我都要對(duì)著不同的Excel表格,不斷地錄入、整理、計(jì)算、核對(duì)。 那段時(shí)間,我每天都在懷疑人生:讀了十幾年書(shū),985畢業(yè),為什么一直在做重復(fù)的表格工作? 為了解放自己,我學(xué)了許多Excel的“高級(jí)操作”,還拿出壓箱底的VB書(shū)。但依然架不住瘋狂的業(yè)務(wù)需求,報(bào)表改了又改,而且這種情況到年底越發(fā)明顯。整個(gè)人陷入被動(dòng)。 那時(shí)我每天趁著中午有口喘氣的時(shí)間,在網(wǎng)上大量搜索的能節(jié)省做報(bào)表時(shí)間的工具,連令我頭疼的開(kāi)源代碼都不放過(guò)。 花了幾天,還真被我搜到了,一個(gè)能替代Excel的效率神器。 與office的界面風(fēng)格很像,不知道是不是就是基于office進(jìn)行的開(kāi)發(fā),但是做出的效果確實(shí)很酷。能直接整合數(shù)據(jù)庫(kù)的數(shù)據(jù)做報(bào)表開(kāi)發(fā),開(kāi)發(fā)的模板能通過(guò)設(shè)置簡(jiǎn)單的查詢參數(shù),做篩選過(guò)濾。原本要做12家門(mén)店的銷售報(bào)表,我用一張模板花1個(gè)多小時(shí)就搞定了,分分鐘批量導(dǎo)出。一個(gè)字“快”。數(shù)據(jù)庫(kù)整合的效率和開(kāi)發(fā)的效率不可同日而語(yǔ)。 很慶幸以前和IT同事混飯的時(shí)候,學(xué)了一點(diǎn)SQL,對(duì)數(shù)據(jù)表有所認(rèn)識(shí),所以上手很容易。請(qǐng)了人家兩頓飯,說(shuō)明緣由,就給我開(kāi)數(shù)據(jù)庫(kù)權(quán)限了。 以前已給好幾個(gè)人安利過(guò),要么借著幌子讓我?guī)兔套鰣?bào)表,要么借口SQL太難學(xué)(這明明是最好學(xué)的語(yǔ)言了,好么)。 如今,我寫(xiě)下這份心得,和大家分享。 01 FineReport 是什么?Finereport是一個(gè)比較強(qiáng)大的web報(bào)表工具,大多為信息部開(kāi)發(fā)報(bào)表所用,所以一般人可能不太了解。 他可以作報(bào)表,也可以做數(shù)據(jù)可視化,和Excel有點(diǎn)像,只不過(guò)VBA開(kāi)發(fā)的成分人家用java編程語(yǔ)言開(kāi)發(fā)成了功能。小到可以存儲(chǔ)統(tǒng)計(jì)數(shù)據(jù)、制作各式各樣的圖表、dashboard,大到制作財(cái)務(wù)報(bào)表、開(kāi)發(fā)進(jìn)銷存系統(tǒng)。 為什么會(huì)有報(bào)表工具這么個(gè)玩意兒?Excel不是萬(wàn)能的么? Excel在做報(bào)表方面,只要你眼疾手快,技能熟練,對(duì)十萬(wàn)條以內(nèi)的數(shù)據(jù)處理起來(lái)一點(diǎn)不虛。但是資深的數(shù)據(jù)分析師、BI工程師還是笑摸狗頭,Too Young Too Simple。 在企業(yè)應(yīng)用中,企業(yè)/組織/團(tuán)體一旦成規(guī)模時(shí),數(shù)據(jù)量是數(shù)以萬(wàn)計(jì)的,無(wú)論數(shù)據(jù)還是報(bào)表都需要協(xié)同管理不斷更新。面對(duì)各種OA\ERP\CRM系統(tǒng)的數(shù)據(jù),部門(mén)提交的各種需求,這時(shí)候懂技術(shù)的朋友們可能知道,Excel是hold不住的。爺搞得都是百萬(wàn)數(shù)據(jù),要百萬(wàn)數(shù)據(jù),就得上數(shù)據(jù)庫(kù)還有BI工具,Excel做得再快也跟不上變化的需求。 其次,從效率上來(lái)講,專業(yè)的報(bào)表工具是可以替代很多重復(fù)性的excel處理工作,比如FineReport,信息部門(mén)部署安裝后,可以連接各業(yè)務(wù)系統(tǒng)數(shù)據(jù),將常規(guī)的各業(yè)務(wù)報(bào)表,還有周報(bào)月報(bào)這些,開(kāi)發(fā)成可自動(dòng)抽取數(shù)據(jù)并展示的模板,做好一次,每次只要查詢即可。 02 FineReport 如何做報(bào)表?先來(lái)說(shuō)說(shuō)他的做表原理,和Excel還是大有不同的。 FineReport的做表原理 做報(bào)表首先得有數(shù)據(jù),數(shù)據(jù)哪里來(lái)?一個(gè)是直接連接業(yè)務(wù)系統(tǒng)或者數(shù)據(jù)庫(kù)的數(shù)據(jù),還有可以導(dǎo)入excel文件數(shù)據(jù),連好數(shù)據(jù)后,開(kāi)始制作模板,類似于做excel表格一樣,設(shè)計(jì)展現(xiàn)的樣式,計(jì)算的公式,最后在web端展示。 但是和excel不用,excel處理的是一個(gè)個(gè)數(shù)據(jù),finereport制作模板時(shí)處理的對(duì)象是數(shù)據(jù)字段,模板中一個(gè)單元格放一個(gè)數(shù)據(jù)字段,web端展示時(shí)字段擴(kuò)展。FineReport報(bào)表中單元格的擴(kuò)展是有方向的,可縱向擴(kuò)展,也可橫向擴(kuò)展,也可以不擴(kuò)展。 單元格的擴(kuò)展是針對(duì)某一個(gè)單元格,當(dāng)報(bào)表主體中綁定了多個(gè)單元格時(shí),單元格與單元格之間依靠父子格關(guān)系跟隨擴(kuò)展。子格的數(shù)據(jù)會(huì)根據(jù)父格的數(shù)據(jù)進(jìn)行過(guò)濾分組顯示,并且還會(huì)跟隨父格的擴(kuò)展方向而擴(kuò)展。 三種報(bào)表模式 1、普通報(bào)表模式 就是常規(guī)的表格報(bào)表,像財(cái)務(wù)報(bào)表,復(fù)雜的中國(guó)式報(bào)表。 ① 能很輕松的進(jìn)行分頁(yè)、分欄、分組設(shè)置
② 支持主子報(bào)表、樹(shù)報(bào)表等多種個(gè)性化報(bào)表
2、聚合報(bào)表模式:針對(duì)不規(guī)則的大報(bào)表 它可以報(bào)表分成每一塊,在畫(huà)布上自由拼接聚合塊,省去頻繁合并拆分單元格的麻煩
3、決策報(bào)表:可視化dashboard 這個(gè)是用來(lái)做數(shù)據(jù)可視化一類的報(bào)表。 通過(guò)拖拽表格、圖表、查詢控件等來(lái)設(shè)計(jì),綁定不同的數(shù)據(jù)源??梢暬笃辆椭贿@么做的。 03 參數(shù)實(shí)現(xiàn)數(shù)據(jù)查詢和過(guò)濾,省得重復(fù)做報(bào)表查詢報(bào)表是怎么做呢?在FineReport中,通過(guò)設(shè)置參數(shù)綁定數(shù)據(jù)字段和過(guò)濾的控件(單選框、復(fù)選框等等),通過(guò)界面輸入查詢條件來(lái)控制報(bào)表顯示的內(nèi)容及形式,而后導(dǎo)出打印。 很多人工作上會(huì)做周報(bào)月報(bào)季報(bào)等,有些全國(guó)性的公司有分公司、門(mén)店、辦事處。經(jīng)常性的要做這些重復(fù)性很大的報(bào)表。那用FineReport就可以集中將每一條數(shù)據(jù)明細(xì)上傳到數(shù)據(jù)庫(kù)中(填報(bào)功能,下面會(huì)講)。在做報(bào)表時(shí),做將一些常用的維度“地區(qū)”、“時(shí)間”、“城市”等等作為一個(gè)查詢的參數(shù)控件,類似Excel中的篩選,導(dǎo)出?;旧弦粋€(gè)周報(bào)模板,就解決了一些人一年52張手工excel報(bào)表的工作量。 04 數(shù)據(jù)可視化可視化方面,自帶了50多種可視化圖表,基本夠用。
可以用集成開(kāi)源的可視化圖表,如Echarts、Hicharts、D3... 還有一些酷炫的可視化動(dòng)效插件,用來(lái)做可視化大屏不錯(cuò)。
強(qiáng)大的數(shù)據(jù)地圖 好了,差不多就是這樣,看到這里的同學(xué)都是好學(xué)的, 最后篇幅有限,以上只展現(xiàn)了FineReport的一部分功能,很多細(xì)節(jié)無(wú)法展開(kāi)。 要說(shuō)效率,最大的好處就是從數(shù)據(jù)庫(kù)中讀出數(shù)據(jù)自動(dòng)產(chǎn)生報(bào)表,且一類報(bào)表做成一個(gè)固定樣式的模板,每次只要同步一下,自動(dòng)同步周期性的報(bào)表,如日?qǐng)?bào)、周報(bào)、月報(bào)、季報(bào)等。 還能批量導(dǎo)出/打印,少了人力去一個(gè)一個(gè)用Excel統(tǒng)計(jì)匯總。 且操作上,原本Excel需要VBA開(kāi)發(fā)的成本,在FineReport里大多數(shù)都封裝成模塊了,包括寫(xiě)SQL取數(shù),匯總篩選過(guò)濾等,基本上都有對(duì)應(yīng)的功能鍵。像著名的資產(chǎn)負(fù)債表,如果按照以往寫(xiě)代碼或者寫(xiě)復(fù)雜的SQL語(yǔ)句,就有點(diǎn)摧殘生命了,而且那天書(shū)般的SQL語(yǔ)句要是出點(diǎn)錯(cuò)誰(shuí)來(lái)查,如果數(shù)據(jù)來(lái)自多個(gè)源,那就徹底無(wú)法解脫了。 其次,在數(shù)據(jù)處理速度上,由于性能一部分依靠數(shù)據(jù)庫(kù),一部分依靠FineReport的行式報(bào)表引擎,相比于Excel的單機(jī)效率,幾十萬(wàn)行的數(shù)據(jù)秒出。 |
|