做過表格的人可能都經歷過一件痛苦的事——製作複雜報表。
對於一些報表,如下圖生產計劃表,由於存在很多維度參數、表內及表間的關聯,填寫一不小心,報表就錯亂了,而且手工調整費時又費力。所謂萬能的Excel數據透視表又無法完成多種分類統計,如型號、日期、生產線等。
像這種複雜的報表都有這樣的共性:
- 格式複雜。表頭很亂,三五層的大格套小格很常見,還有著名的斜線,沒有格線時很容易看走眼。
- 信息量大。存在各種各樣的數據,明細的、匯總的,往往都集中在一張表上。
其實有一種簡單的方法,N套具有共性的報表都只要維護1套報表模板。比如報表需求發生變化,需要更改報表樣式,只要改動模板,就可批量生成。一旦報表發生數據變動,只要一鍵刷新即可同步數據,一勞永逸,以不變應萬變。
當然Excel是不能完成這項工作的。即使寫代碼,一個複雜的模板也得寫上幾百行,還不計維護。所以,一個報表如果Excel無法默認實現,那都可以歸類為結構複雜,製作困難的複雜報表,需要專業報表工具。
對於這些複雜的報表,一些專業的報表工具早已將其模塊化。比如,對於常用的報表需求,finereport將其分為3種製作模式:
- 普通報表:各類明細表、分組報表、交叉報表、主子報表、分欄報表、查詢類報表、填報類報表的製作,大部分報表格式都能覆蓋。
- 聚合報表:各種樣式不規則的報表,比如複雜票據。
- 決策報表:以展示業務指標為主,實現數據多維度分析的可視化報表。
這3種模式基本能解決各種報表類型需求。
一、普通報表
普通報表是最常用也是用於製作大多數報表的設計模式(保存的文件類型是cpt)。它是一種類似Excel做報表的設計模式,依靠著單元格的擴展與父子格的關係來實現各類模板效果。
支持各種行列擴展,可進行參數查詢,填報報表,圖表設計等等,實現包括但不限於各類明細表、分組報表、交叉報表、主子報表、分欄報表、查詢類報表、填報類報表的製作。
總的來說它能夠高效率的實現各各類傳統格子式報表。可以製作企業中傳統用Excel畫的各類報表並且將之web化。能夠從企業的各類業務資料庫中取數,製作財務、銷售、生產製造、人事等企業經營方方面面的報表,實現隨時隨地在PC、移動設備中進行報表訪問及數據查詢、編輯修改等。
典型的有如下三類:
1、各種展現類中國式複雜報表
支持明細報表、分組報表、交叉報表等基礎表樣以及由基礎表樣通過各種靈活應用製作而來的其他特色表樣,且均支持靈活的公示運算,比如同比、環比、排名、占比等,也支持列印、導出離線文件。
比如:分組統計報表。
比如:同比環比及累計
比如,卡片分欄報表
比如,複雜摺疊樹報表
比如,票據套打報表
2、各種查詢類報表
大多數情況下,我們並不需要報表把資料庫中所有的數據都呈現出來,而是要根據一些條件來過濾出我們想要的數據,這在FineReport里叫參數查詢。
FineReport提供了多種控制項類型,可靈活搭配使用,實現各種場景下的條件篩選查詢,且同一張報表可支持多個參數。
比如,多個下拉框組合的聯動查詢。
比如,多個條件、多種控制項組合形成的複雜查詢。
3、數據錄入/填報表
傳統意義上的報表,是解決數據呈現的問題,即把數據從資料庫中取出來,然後以各種格式展現出來,對展示的結果可以進行導出、列印等。
而實際運作中,我們在數據的同時也需要對報表/數據進行一些編輯操作,比如增加、修改、刪除部分數據,這樣的報表在FineReport里叫填報報表。
FineReport在前述展現/查詢類報表的基礎上,支持填報,且提供多種控制項風格可選,支持在線導入Excel數據,能滿足不同場景下的數據編輯錄入需求。
比如,自由填報表。
比如參數查詢填報表,查出已有數據,進行修改填報。
二、聚合報表
聚合報表指一個報表中包含多個模塊,每一塊都類似一張單獨的報表或者一張圖表,塊與塊之間相對獨立,互不影響。同時,不同塊之間的單元格擴展分離,互不影響,所以能專門解決不規則大報表難題。
聚合報表的文件後綴格式也是cpt,但二者在FineReport中的操作介面有非常大的不同。
傳統的格子式報表,比如Excel,有個很大的問題,就是調整一個單元格的行高或列寬,它所在的整行或者整列的其他單元格都會受影響。這樣的話,對於那些表格樣式非常不規範的,某個單元格前後左右行高不一致的複雜報表,實現起來就非常困難,基本上是束手無策,縱然少部分場景下可以通過不斷的合併拆分單元格來實現,但是工作量實在是太大太大,得不償失。
FineReport中的聚合報表就是解決此類問題。通過不同的表格塊來拼接形成一個複雜的大報表,同時塊與塊之間的擴展、行高、列寬不互相影響,極大的提高了制表的靈活空間。
典型的,比如下圖不規則報表。
比如下圖這種尤其複雜的票據類報表,用傳統的類Excel格子式編輯方式來設計是非常頭疼的。
三、決策報表
決策報表,是專為解決駕駛艙類報表/dashboard而開發的。不同於普通報表設計格子式介面,決策報表採用的是畫布式操作介面,通過簡單的拖拽操作即可構建強大、全面的「管理駕駛艙」,在同一個頁面整合不同的數據,完美的展示各類業務指標,實現數據的多維度分析。(決策報表文件的後綴格式是frm)
其具備諸多特性:
- 能用於各種顯示屏並自適應:適配PC、平板、手機、電視、大屏等多類終端。
- 更多可視化元素:有表格、圖形、控制項等超多可視化組件,可自由搭配,製作百變報表
- 多種布局方式:自適應布局、絕對布局、tab布局等多種布局方式,拖拽式設計。在同一個報表內可以拖放不同的組件,每個組件可以對應不同主題、綁定不同數據。
- 組件聯動分析:組件之間可以聯動分析,點擊某個組件,關聯組件自動觸發數據加載
- 數據監控定時刷新:後台數據智能檢測對比,數據有變更前台及時更新
- 自動輪播:支持同一個位置輪播顯示不同的圖表樣式,支持多個tab頁輪播
為什麼會有決策報表?
數據分析時代,越來越多的企業重視數據應用,關注數據可視化,而面向企業領導層的數據,往往要求在一個報表中綜合匯總企業的多類信息進行集中展示,業內稱之為管理駕駛艙。
傳統的報表設計介面,要在一個頁面中,自由搭配不同的表格、圖形、控制項等,繁瑣而困難,決策報表提供了一種簡單高效的設計方式,拖拖拽拽即可快速構建駕駛艙。
典型應用,比如面向領導的管理看板。
比如,管理看板的鑽取與聯動,點擊地區鑽取到省市,同時其他組件聯動由全國數據變更成省市數據,方便領導在一個頁面掌握全局業態。
比如,藉助決策報表良好的多終端適應性,管理者可以在瀏覽器、APP、微信、釘釘等應用上隨時隨地監控關鍵指標數據。
再比如,企業戰略指揮中心、監控中心或者會議室的數據大屏,基於決策報表的數據監控功能來實時關注關鍵業績指標,或者面向外部宣傳企業實力與形象。
最後
以上便是用專業報表製作報表的方式,篇幅有限,很多細節無法展開。如果充分利用FineReport的三種報表設計模式,可以實現大部分複雜報表設計需求,玩轉報表開發。