天天看點

近期要做填報報表,使用Spreadsheet還是Finereport?

作者:明月說資料

又是忙碌的五月呀~~近期接到一個項目,是一家商貿公司需要去采集銷售部門的銷售業績據, 以往他們使用Excel表格線下去做報表填報,傳統的報表體系效率低,檔案雜,彙總難。下級部門上傳資料需要以多個表格來上報,上級部門拿到上報的資料後還要手動進行彙總或者分類。對于這種無限重複并且效率低的工作節奏,他們早已厭倦。因為手工采集都是以他們需要有一張自己的工作表。這就導緻,在全國的資料管理中,多個地區的工作表的結構是相同的,隻是名稱不一樣。重複建立多張表就造成了資源的浪費,并且不易進行管理和實時更新檢視。

如果要避免這種情況,過往的經驗告訴我,專業的事情交給專業的工具來做,我們要選擇專業的資料填報軟體,起到事倍功半的效果, 不再為資料收集而秃頭!

在國内的報表領域,有兩款好評如潮的産品——帆軟旗下的報表産品FineReport,Smartbi旗下的報表工具Spreadsheet。 這兩款工具都能實作資料的線上填報整合,但哪款更合适我,我最近也親自試了下,都各有利弊,以下就是我使用的過程細節對比,提供給有資料采取需求的親們,供參考~~

兩個産品做出來的效果,如下圖:

近期要做填報報表,使用Spreadsheet還是Finereport?

實作過程的差異對比,如下:

1.資料接入

兩個平台都支援主流的資料庫類型,基本都是可以通過業務庫的IP和端口就可以便捷連接配接到資料庫。令人驚喜的是,Spreadsheet的資料庫管理機制,可從整個資料源進行表關系、中繼資料、資料權限進行全局管理。Finereport暫未發現資料庫全局管理能力,資料庫接入後,隻是一個資料連結位址,缺少類似能對整個資料源字段和表關系進行全局管理,後續需要每個資料集都重新定義一次關系,稍微繁瑣一些。

近期要做填報報表,使用Spreadsheet還是Finereport?

Spreadsheet資料庫統一對整個資料源字段和表關系進行全局管理管理機制:

近期要做填報報表,使用Spreadsheet還是Finereport?

2.資料準備

Finereport提供多種資料集處理手段,具有SQL資料集、自助資料集、程式、檔案資料集、關聯資料等。資料集支援類型很豐富,但是使用起來又比較技術化,适用于熟悉sql的使用者。。這個定位比較清晰,這塊軟體就是面向于 IT人員去使用的。如果不熟悉sql就出門右轉了,可以考慮使用spreadsheet,因為這個産品除了支援sql取數,還是支援拖拽勾選的方式取數,不熟悉sql也可以使用

近期要做填報報表,使用Spreadsheet還是Finereport?

Spreadsheet在取數這塊門檻就低很多,不僅有專業的sql取數,也支援業務人員自助勾選字段取數。根據業務的使用習慣,來專門開放給業務使用者勾選拖拽字段就能取數并快速生成參數應用于報表中。

近期要做填報報表,使用Spreadsheet還是Finereport?

Spreadsheet有專為技術人員提供的原生SQL資料集、Java資料集、存儲過程資料集等,同時SQL資料集編輯界面可以看見資料庫表的資訊,如表名、字段名等資訊輔助寫sql。

近期要做填報報表,使用Spreadsheet還是Finereport?

3.填報報表開發

兩者的開發界面如下圖所示,Finereport使用的是“類Excel”的C/S報表設計器,Spreadsheet使用的是“真Excel”的準B/S報表設計器。兩者都可以滿足常見的複雜報表需求。Spreadsheet基于Excel/WPS的特色來融入BI報表的能力,Finereport使用類Excel的設計器,對于熟悉Excel的小夥伴來說的話,在函數、公式使用在Spreadsheet的Excel設計器更友善。如果使用Finereport需要重新花時間去學習,在豐富度上也略低于Spreadsheet。但整體使用下來,Finereport在整個設計器的功能布局會比較集中和細節做的更連貫一些。

Finereport的類Excel設計器

近期要做填報報表,使用Spreadsheet還是Finereport?

Spreadsheet真Excel設計器

近期要做填報報表,使用Spreadsheet還是Finereport?

在制作細節上,也要幾點想與大家分享一下

1.拖字段,特别是字段量較大是,Spreadsheet比較友好是可以批量插入名稱,不需要一個一個拖拽,對于效率要求的技術控就比較友好了。

近期要做填報報表,使用Spreadsheet還是Finereport?

2.Spreadsheet繼承了單元格細節的靈活性,如同一個單元格的字型支援不同顔色顯示,而字型需要Finereport整個單元格進行修改。

近期要做填報報表,使用Spreadsheet還是Finereport?

3.Finereport無法動态擷取資料集(當報表拖字段後,若此時修改資料集名稱,報表就沒數了)

近期要做填報報表,使用Spreadsheet還是Finereport?
近期要做填報報表,使用Spreadsheet還是Finereport?

這一點,大家需要注意一下,如果使用finereport不要輕易改資料集名稱,不然像我這次一樣,改了資料集後就報錯,有點蒙。如果修改,字段需要重新逐個拖拽吧。

4.在公式函數上,Spreadsheet相容的Excel函數包括但不限于日期時間函數、統計函數、财務函數、文本函數、預測函數等,尤其平時日常用的最多加減乘除、VLOOKUP也可以直接使用。當資料集字段綁定到單元格後,可使用Excel本身的公式、函數進行單元格引用和計算。

近期要做填報報表,使用Spreadsheet還是Finereport?

Finereport内置系統函數十大類上百種函數,并且分類、使用向導和公式說明上做的比較易用。

近期要做填報報表,使用Spreadsheet還是Finereport?

5.參數使用:

Finereport的參數使用與smartbi使用過程差别很大。Finereport在做資料集的時候不需要考慮接入參數,是在報表層面進行加入的,加入的步奏大緻可以分為以下幾步

  • 定義參數:設定參數名稱,添加參數,根據實際應用場景的需要選擇不同類型的參數。
    近期要做填報報表,使用Spreadsheet還是Finereport?
  • 參數添加控件:控件是參數實作查詢的載體,選擇控件類型,通過将控件和參數綁定,實作在控件中輸入參數值,能夠過濾并查詢出使用者想要檢視的資料。
近期要做填報報表,使用Spreadsheet還是Finereport?
  • 設定參數來源,這裡叫做數字字典:
近期要做填報報表,使用Spreadsheet還是Finereport?

最後需要過濾的字段,需要設定與該控件參數綁定,進而實作參數切換時,資料進行實時過濾

近期要做填報報表,使用Spreadsheet還是Finereport?

Spreadsheet的參數使用,相比而言就簡潔一些,是在資料集裡面加入參數,當報表使用帶有參數的資料集,變可直接繼承使用。

近期要做填報報表,使用Spreadsheet還是Finereport?

參數的編輯界面,支援寫sql,直接拖字段,靜态清單,函數這四種類型

近期要做填報報表,使用Spreadsheet還是Finereport?

參數排版,單元格引用,參數預設值都可以在報表設計器“參數設定”欄目完成

近期要做填報報表,使用Spreadsheet還是Finereport?

6.填報功能設定

兩者都可以滿足常見的資料填報場景。Finereport填報校驗配置項豐富些,并且将回寫規則與填報屬性兩個功能合二為一進行設定,Spreadsheet需要分别設定,對于沒有現成的校驗配置項也可以個性化去編寫表達式進行擴充。

Finereport填報設定:FR有14種類型參數控件,并且針對每種元件都有相應的設定項(日期控件,可以設定起始和截止日期,檔案控件:可以設定是否允許一次上傳多個檔案)

近期要做填報報表,使用Spreadsheet還是Finereport?

Finereport校驗功能,每種控件都有資料檢驗類型,且内置檢驗規則比較豐富(比如身份證、電話、郵件等),也可以自定義正規表達式和js檢驗。 還支援設定送出條件(過濾掉不符合條件資料,其它的正常送出,不會阻止條件過程)。

近期要做填報報表,使用Spreadsheet還是Finereport?

有專門的按鈕和背景等頁面調整設定

近期要做填報報表,使用Spreadsheet還是Finereport?

Spreadsheet的填報設定,與finereport類似的需要設定單元格的填報資料類型以及如何與資料庫進行比對(即回寫規則設定)。另外spreadsheet支援不同使用者填報同一張報表資料,可以按照部門、區域、層次等來控制使用者填報資料的權限,且填報和浏覽權限可以分開單獨設定

近期要做填報報表,使用Spreadsheet還是Finereport?

由于本次開發這個項目采集的資料是銷售對于76種産品的在12個月的銷售目标,是以一次性采集的資料比較多,如果讓銷售逐個去填寫會比較費勁就有76*12條資料了,spreadsheet還有這個批量回寫的功能,對于一次性要填寫大量資料的場景比較友好~

近期要做填報報表,使用Spreadsheet還是Finereport?

4.釋出使用

兩個産品的釋出流程稍有不同,實作效果基本一緻。Spreadsheet是在設計器端點選釋出後,回到web端可以在儲存的目錄下可以打開該資源。

近期要做填報報表,使用Spreadsheet還是Finereport?

Finereport在設計器端釋出後,需要回到web管理平台進行挂載模闆進行檢視。

近期要做填報報表,使用Spreadsheet還是Finereport?

總結

使用了兩個産品來做同一個多元度的填報報表,這兩個産品的差别不是很大,都能實作最終的效果。

兩者各有所長。Finereport開發細節上更友好,功能細節更豐富和完善。而Spreadsheet在資料準備手段更靈活,就算不會sql也能玩得動,并且如果你習慣用Excel的話使用Spreadsheet會更容易上手。

繼續閱讀