大部分公司目前還是在用Excel在進行資料分析:收集資料、統計分析、做報表,畢竟Excel還佔據著資料分析工具的半壁江山,而且Excel還“價格便宜”,大部分人都會用。
但這些都談不上是專業的資料分析,專業分析師一般用Python或R語言。
但不可否認的是,Excel的功能的確很強大,它可以實現簡單的資料清洗和資料探勘,以致於當初很多人只學了Excel裡的資料透視表,就敢自稱是資料分析師了。
當然,對於簡單的邏輯分析和小規模資料集,Excel是完全可以滿足資料清洗的要求的,同時Excel也可以用分類、聚類、關聯和預測這幾種演算法來實現簡單的資料探勘。
但是,Excel之所以逐漸落後於資料分析市場,就因為它也存在著許許多多的問題,最主要的問題包括處理不了大資料集、視覺化程度低、難以解決資料孤島、操作不靈活有難度、重複人力工作、資料無法實時更新、終端不拓展等等,所以比起專業的資料分析工具還是遜色不少。
所在在現在的企業資料分析過程中,一般流程是這樣的:
IT部門用SQL取數,用專業的報表工具比如finereport做業務報表,也有用BI做分析報表的;
然後資料分析方面,BI因為上手簡單,視覺化直觀,可搭建分析平臺,可整合資料,常被用作企業級的資料分析工具,業務人員可以自主分析,分析師也經常用BI來取數,做固定的視覺化分析;
但如果是專業的分析,公司又有專業的資料分析師,涉及建模資料探勘等,就會用Python還有R。
這款效率遠超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處理了資料,但沒有得到有效結果去服務於業務帶來效益。那如果在報表之後,基於業務基於指標去做特定主題的資料分析,站在公司角度做資料化管理,為領導的業務決策提供有效意見,這樣的高度就別有不同了。
大部分公司目前還是在用Excel在進行資料分析:收集資料、統計分析、做報表,畢竟Excel還佔據著資料分析工具的半壁江山,而且Excel還“價格便宜”,大部分人都會用。
但這些都談不上是專業的資料分析,專業分析師一般用Python或R語言。
但不可否認的是,Excel的功能的確很強大,它可以實現簡單的資料清洗和資料探勘,以致於當初很多人只學了Excel裡的資料透視表,就敢自稱是資料分析師了。
當然,對於簡單的邏輯分析和小規模資料集,Excel是完全可以滿足資料清洗的要求的,同時Excel也可以用分類、聚類、關聯和預測這幾種演算法來實現簡單的資料探勘。
但是,Excel之所以逐漸落後於資料分析市場,就因為它也存在著許許多多的問題,最主要的問題包括處理不了大資料集、視覺化程度低、難以解決資料孤島、操作不靈活有難度、重複人力工作、資料無法實時更新、終端不拓展等等,所以比起專業的資料分析工具還是遜色不少。
所在在現在的企業資料分析過程中,一般流程是這樣的:
IT部門用SQL取數,用專業的報表工具比如finereport做業務報表,也有用BI做分析報表的;
然後資料分析方面,BI因為上手簡單,視覺化直觀,可搭建分析平臺,可整合資料,常被用作企業級的資料分析工具,業務人員可以自主分析,分析師也經常用BI來取數,做固定的視覺化分析;
但如果是專業的分析,公司又有專業的資料分析師,涉及建模資料探勘等,就會用Python還有R。
這款效率遠超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處理了資料,但沒有得到有效結果去服務於業務帶來效益。那如果在報表之後,基於業務基於指標去做特定主題的資料分析,站在公司角度做資料化管理,為領導的業務決策提供有效意見,這樣的高度就別有不同了。