大部分公司目前還是在用Excel在進行數據分析:收集數據、統計分析、做報表,畢竟Excel還占據著數據分析工具的半壁江山,而且Excel還“價格便宜”,大部分人都會用。
但這些都談不上是專業的數據分析,專業分析師一般用Python或R語言。
但不可否認的是,Excel的功能的確很強大,它可以實現簡單的數據清洗和數據挖掘,以致于當初很多人只學了Excel里的數據透視表,就敢自稱是數據分析師了。
當然,對于簡單的邏輯分析和小規模數據集,Excel是完全可以滿足數據清洗的要求的,同時Excel也可以用分類、聚類、關聯和預測這幾種算法來實現簡單的數據挖掘。
但是,Excel之所以逐漸落后于數據分析市場,就因為它也存在著許許多多的問題,最主要的問題包括處理不了大數據集、可視化程度低、難以解決數據孤島、操作不靈活有難度、重復人力工作、數據無法實時更新、終端不拓展等等,所以比起專業的數據分析工具還是遜色不少。
所在在現在的企業數據分析過程中,一般流程是這樣的:
IT部門用SQL取數,用專業的報表工具比如finereport做業務報表,也有用BI做分析報表的;
然后數據分析方面,BI因為上手簡單,可視化直觀,可搭建分析平臺,可整合數據,常被用作企業級的數據分析工具,業務人員可以自主分析,分析師也經常用BI來取數,做固定的可視化分析;
但如果是專業的分析,公司又有專業的數據分析師,涉及建模數據挖掘等,就會用Python還有R。
這款效率遠超Excel的表格工具,沒用過就可惜了!
日常工作中,涉及到表格、圖表、分析、數據處理,大家首選的一定是Excel。但小編也看到不少知友困惑于Excel的深入學習難度,雞肋的大數據處理效率。
比如某知友為處理七八個維度,近萬條數據奔潰不已;又有人幾十萬行的數據把電腦頻頻跑崩;再者,隨著多任務線之間的交叉,匯總任務呈幾何級數增加……
倒不是說Excel完成不了這類任務,Excel作為個人辦公軟件絕無僅有,但作商業用,效率還稍有不足。最主要的原因還是處理速度上,excel更多時候充當的是輕量數據庫和計算功能。
懂IT的朋友可能會說,交給數據庫啊,寫兩條SQL就解決了。再不行,找程序員寫代碼,什么圖形化的界面,分析,圖表,數據錄入,修改刪除界面,都可以交由程序開發,性能杠杠的。那如果有一款工具能解決掉數據庫之后的數據增改刪,展現,交互分析,移動大屏展示,并做到辦公協同,那就是小編今天想來講講的FineReport了。
此前,小編正式介紹過FineReport,FineReport的本質是一個通用的報表制作和數據可視化工具,是一個開放的商業報表工具。好比Excel,小到可以存儲統計數據、制作各式各樣的圖表、dashboard,大到制作財務報表、開發進銷存系統。
今天我想從技術的角度講講FineReport,操作上為何能省時省人力,如何在實現系統化數據分析的同時又能有驚艷的可視化。
一、如何花1小時完成一張復雜報表,解放10+人力?
1、關于FineReport的制表原理
FineReport是通過連接數據庫,讀取數據字段來設計報表模板的,所以在制作模板前先要知道數據庫的類型、地址、訪問數據庫的用戶名密碼,兩者建立一個數據連接后才可開始設計模板。然后依據所需功能(表格展示?填報?dashboard分析?)和表樣來操作模板,最后在web端展示。
制作模板時處理的對象是數據字段(區別于Excel的單元格數據),模板中一個單元格放一個數據字段,web端展示時字段擴展。FineReport報表中單元格的擴展是有方向的,可縱向擴展,也可橫向擴展,也可以不擴展。
單元格的擴展是針對某一個單元格,當報表主體中綁定了多個單元格時,單元格與單元格之間依靠父子格關系跟隨擴展。子格的數據會根據父格的數據進行過濾分組顯示,并且還會跟隨父格的擴展方向而擴展。
2、三大類報表設計方式,解決日常所有報表需求,并且一表復用。
1)普通模板設計,此者最常用。依靠著單元格的擴展與父子格的關系來實現模板效果,可進行參數查詢,填報報表,圖表設計等。比如交叉報表、行式報表、分組報表等等。
2)聚合報表設計,針對不規則大報表。適用于一張模板中顯示多個獨立模塊的報表,幾個報表塊匯總在一起的復雜報表。
3)決策報表設計,就是表單,也是dashboard,用于彌補普通報表分頁預覽不能展示控件的問題。同時表單可以進行自由拖拽設計,自適應頁面大小顯示,自由制作駕駛艙可以更好的在各種大小類型的屏幕上展示,包括移動端、大屏。
以下舉例一些常見的報表格式。
交叉表
行式報表
分組報表
自由報表
3、參數實現數據查詢和過濾
在很多情況下,我們需要根據條件查詢數據,過濾。在FineReport中,通過設置參數綁定數據字段和過濾的控件(單選框復選框等等),參數可用JS編輯更多復雜的情況,通過界面輸入查詢條件來控制報表顯示的內容及形式,而后導出打印。
4、填報
填報就是向數據庫中錄入數據,用于固定格式固定條件的數據收集。就好比你注冊知乎時提交的郵箱、收集、用戶名、密碼,都會按照格式存放到數據庫中。
填報也需要一個模板,操作流程如下:
填報模板由控件組成,文本控件、數字控件、密碼控件、單復選框、網頁、文件等等。控件對應著數據字段。有了填報,就可以收集數據,并且允許用戶實現對數據庫的增刪改。出于數據質量和數據安全的考慮,還可以對填報進入的數據做校驗操作。
5、打印&導入導出
FineReport的打印方式分為客戶端打印和服務器端打印。
服務器端打印就是使用報表應用所在的服務器,連接的打印機進行打印;
客戶端打印就是使用本地連接的打印機進行打印;又分為Flash打印、PDF打印、Applet打印以及本地打印。
出于對Excel的支持,有各種方式(如下)導出成Excel文件,同時,設計器中可導入Excel,填報也可直接導入帶有數據的Excel表樣。
二、如何制作酷炫的Dashboard可視化
酷炫的dashboard都需要通過FineReport的表單(決策報表)來設計展現。通過拖拽報表塊、圖表塊和各類控件初步設計界面。
不同于普通報表,普通報表是一個整體,無法實現局部刷新。表單是由各個組件組成,可以實現組件內刷新,即局部刷新。像動態大屏都是全局或者局部刷新的,所以需要用決策報表制作實現。
1、決策報表制作過程
新建表單:FineReport支持新建工作薄,即普通報表模板,還支持新建表單,兩種設計模式;
拖入組件:FineReport表單支持多種不同的組件類型,包括報表塊、tab塊、絕對畫布塊、參數、圖表和控件等等;
定義數據集:定義各個組件數據來源,圖表組件數據即可來源于數據集,也可來源于單元格;
設置表單樣式:即設置表單的顯示樣式。
2、數據可視化與交互
很多知友看到上述的可視化會好奇,這是什么圖表制作的。其實大多由FineReport自帶的H5圖表。此前有提到FineReport良好的開放性,可讓IT同事寫代碼開發,所以在制作時,也可接入Echarts等第三方控件來制作圖表。
3、實用而強大的數據地圖
FineReport有很強大的地圖功能:基本地圖、GIS地圖、熱力地圖、大數據流向地圖等。
GIS地圖基于GIS地圖層進行數據展示,支持自定義GIS主題風格,能夠與數據表鉆取聯動。比如省級鉆取到市級、縣級、街道。
三、總結
以上便是FineReport一部分功能,篇幅有限,很多細節無法展開。
要說效率,最大的好處就是從數據庫中讀出數據自動產生報表,且一類報表做成一個固定樣式的模板,每次只要同步一下,自動生產周期性的報表,如日報、周報、月報、季報等。每次按照條件查詢,Excel批量導出/打印,少了人力去一個一個用Excel統計匯總。
而且操作上,大多數功能FineReport都封裝成模塊了,包括寫SQL取數,匯總篩選過濾等,基本上都有對應的功能鍵。像著名的資產負債表,如果按照以往寫代碼或者寫復雜的SQL語句,就有點摧殘生命了,而且那天書般的SQL語句要是出點錯誰來查,如果數據來自多個源,那就徹底無法解脫了。
其次,在數據處理速度上,由于性能一部分依靠數據庫,一部分依靠FineReport的行式報表引擎,相比于Excel的單機效率,幾十萬行的數據秒出。再者,企業數據庫有各種自帶或第三方的集群方案,通過堆機器就可以近似于無限的加大數據儲存能力。
最后,FineReport除了解放個人,最大的貢獻應該是對企業。在商業用途上,我們要考慮效率,人員的培訓成本,協同性,還要考慮對企業業務的支撐、貢獻,這幾點Excel是比較難發揮貢獻的。有知友說“Excel用得再溜,老板也不會給你漲工資,可能還革了其他同事的命”。那是因為Excel處理了數據,但沒有得到有效結果去服務于業務帶來效益。那如果在報表之后,基于業務基于指標去做特定主題的數據分析,站在公司角度做數據化管理,為領導的業務決策提供有效意見,這樣的高度就別有不同了。