一张模板替代数百Excel,这个工具让报表工作自动进行
Excel的重度用戶對這個話題肯定非常感興趣。
因為每天重復以下事情,一天兩天還好,時間長了誰都受不了。
收集數據、復制、粘貼、清洗數據、轉換數據,
然后用固定的處理邏輯,
輸出同樣的結果
我把這些工作稱為常規工作,屬于必須做,做好不出彩,做不好有責任。
作為數據民工,每天要處理非常多的數據,深有體會。相比之下,我更愿意每天處理新的需求,分析異常業務情況的數據分析工作,顯然這樣的價值更高。
可如果大部分的時間已被常規工作占據,哪還有時間來做更有價值的事情?
把這些工作推給別同事? —— 憑什么!
拼手速、學快捷鍵節省時間? —— 一切不能釋放你雙手的辦法都不是好辦法。
自動化是唯一的出路!把原先需要幾十分鐘,幾個小時甚至幾天的工作內容自動化。騰出了時間,才有機會搞更有價值的東西。
一說到自動化,很多人就想到Excel宏、VBA什么的,這可是編程呀,必須VBA嗎?
誤會啊誤會,如果是這樣,我今天就不寫這些文字了。
從我自己在企業的數據工作經歷來看,70%的自動化都不需要VBA,VBA我只用于處理一些極個別復雜的需求。大部分常規性的報表我們都交給更專業的報表工具去開發,尤其是固定式報表,這個自動化比例能達到90%,上手難度卻只是VBA的一半。
舉個例子,有一份每天早上需要發布的銷量報表,老板的要求是:
1)從總體,區域,產品,城市,分公司視角
2)展示當天、當月、當年的銷售情況
3)還要給出利潤及利潤率
4)除此以外,還要展示出營業利潤額的趨勢。
正常不出意外的情況下,這份報表每天要花2~3個小時匯總制作。用報表工具做自動化模板后,一鍵刷新,整個過程不超過5分鐘,只需要翹腳等待刷新完成。
?
這個報表工具就是FineReport。
羅列幾個能解決大家報表制作的痛點,也是它廣泛為人所用的亮點:
1、 制作報表高效低重復,自動化;
2、 數據填報,數據自動更新匯總;
3、 可視化dashboard真是酷炫;
一、高效做報表,1張模板頂替數百張Excel
為什么能如此高效,關鍵在于他做報表的邏輯。
1、FineReport自動化模板的做表邏輯
?
常規我們用Excel做報表,是把數據從數據庫導出來,復制粘貼到一張或多張表上,然后對這個表數據做處理,每天有數據,就每天手動復制更新。
而FineReport直接是通過連接數據庫,讀取數據字段來設計報表模板的,和數據庫實時對接。制作模板處理的對象是數據字段(區別于Excel的單元格數據)。模板中一個單元格放一個數據字段,對數據字段進行求和、求平均等各種函數公式的運算。且當這個數據字段下的數據有新增時,設置自動刷新就能一鍵更新報表。
其實和excel類似,excel對一個單元格做公式處理,然后下拉。這邊是直接對數據字段處理,省去了下拉的過程,展示報表時,自動擴展開來,就相當于報報表結果中的每一個數據,都變成能自動計算的公式。只要你改變數據源,它將像多米諾骨牌一樣,自動進行。
以下是用FineReport做報表模板時的場景,做的時候可能是僅僅一行,但預覽時卻是擴展出來的密密麻麻的 “風景”,這里就要談談它的數據是怎么展開的,即擴展原理。
?
FineReport報表中單元格的擴展是有方向的,可縱向擴展,也可橫向擴展,也可以不擴展。
?
單元格的擴展是針對某一個單元格,當報表主體中綁定了多個單元格時,單元格與單元格之間依靠父子格關系跟隨擴展。子格的數據會根據父格的數據進行過濾分組顯示,并且還會跟隨父格的擴展方向而擴展。
?
2、三大類報表設計方式,基本能解決日常所有報表需求,并且一表復用。
1)普通模板設計,此者最常用。依靠著單元格的擴展與父子格的關系來實現模板效果,可進行參數查詢,填報報表,圖表設計等。比如交叉報表、行式報表、分組報表等等。(以上↑)
2)聚合報表設計,針對不規則大報表。適用于一張模板中顯示多個獨立模塊的報表,幾個報表塊匯總在一起的復雜報表。(以下↓)
?
3)決策報表設計,就是表單,也是dashboard,用于彌補普通報表分頁預覽不能展示控件的問題。同時表單可以進行自由拖拽設計,自適應頁面大小顯示,自由制作駕駛艙可以更好的在各種大小類型的屏幕上展示,包括移動端、大屏。
?
以下舉例一些常見的報表格式。
交叉表
?
行式報表
?
分組報表
?
自由報表
?
3、參數實現數據查詢和過濾
在很多情況下,我們需要根據條件查詢數據,過濾。在FineReport中,通過設置參數綁定數據字段和過濾的控件(單選框復選框等等),參數可用JS編輯更多復雜的情況,通過界面輸入查詢條件來控制報表顯示的內容及形式,而后導出打印。
?
二、數據填報自動更新匯總
做報表的另外一個難題是有關數據源的提交,審批,更新,匯總。試想你有沒有經歷過每天守著點等大家發郵件送Excel,挨個保存、打開、匯總數據的麻木操作。回頭數據出錯,還要打回重新溝通,數據采集總是最難的。
填報就是向數據庫中錄入數據,用于固定格式固定條件的數據收集。就好比你注冊頭條時提交的郵箱、收集、用戶名、密碼,都會按照格式存放到數據庫中。
填報也需要一個模板,類似于一個可寫入的操作模式,操作流程如下:
?
填報模板由控件組成,文本控件、數字控件、密碼控件、單復選框、網頁、文件等等。控件對應著數據字段。有了填報,就可以收集數據,并且允許用戶實現對數據庫的增刪改。出于數據質量和數據安全的考慮,還可以對填報進入的數據做校驗操作。
?
三、可視化dashboard及分析
酷炫的dashboard都需要通過FineReport的表單(決策報表)來設計展現。通過拖拽報表塊、圖表塊和各類控件初步設計界面。
不同于普通報表,普通報表是一個整體,無法實現局部刷新。表單是由各個組件組成,可以實現組件內刷新,即局部刷新。像動態大屏都是全局或者局部刷新的,所以需要用決策報表制作實現。
?
決策報表制作過程
新建表單:FineReport支持新建工作薄,即普通報表模板,還支持新建表單,兩種設計模式;
拖入組件:FineReport表單支持多種不同的組件類型,包括報表塊、tab塊、絕對畫布塊、參數、圖表和控件等等;
定義數據集:定義各個組件數據來源,圖表組件數據即可來源于數據集,也可來源于單元格;
設置表單樣式:即設置表單的顯示樣式。
?
?
2、數據可視化與交互
大家看到上述的可視化會好奇,這是什么圖表制作的。其實大多由FineReport自帶的H5圖表。此前有提到FineReport良好的開放性,可讓IT同事寫代碼開發,所以在制作時,也可接入Echarts等第三方控件來制作圖表。
?
最后
以上便是FineReport一部分功能,篇幅有限,很多細節無法展開。
要說效率,最大的好處就是從數據庫中讀出數據自動產生報表,且一類報表做成一個固定樣式的模板,每次只要同步一下,自動生產周期性的報表,如日報、周報、月報、季報等。 每次按照條件查詢,Excel批量導出/打印,少了人力去一個一個用Excel統計匯總。
而且操作上,大多數功能FineReport都封裝成模塊了,包括寫SQL取數,匯總篩選過濾等,基本上都有對應的功能鍵。像著名的資產負債表,如果按照以往寫代碼或者寫復雜的SQL語句,就有點摧殘生命了,而且那天書般的SQL語句要是出點錯誰來查,如果數據來自多個源,那就徹底無法解脫了。
最后,對于新手,剛開始嘗試這么做時,會遇到非常多的阻力。原因有兩個:
- 做表的思維方式完全不一樣,需要適應
- 上手finereport自動化模板需要學習新的技能
你需要不斷的嘗試和練習。但是,當你擁有這種思維方式,掌握相應的技能后,你將深深體會到它的威力,不過切記低調、低調。
總結
以上是生活随笔為你收集整理的一张模板替代数百Excel,这个工具让报表工作自动进行的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: HDCVI——一种创新性的高清视频传输方
- 下一篇: 水平+垂直布局-css (借鉴)