什麼是業務報表?
業務報表是維持公司正常生產運營重要的一部分,企業的業務發展狀況、財務狀況等等都需要透過報表來監測。
業務報表開發難題
然而很多企業的資料分析師或者報表工程師在報表開發的過程中總遇到這樣的問題:每天接需求,接需求,費盡心血做了一堆的報表,但是感覺沒什麼用。有的報表改了又改,業務總是不滿意,最後好不容易改好了,功勞還都是業務部門的,自己還要被業務套上能力不行的帽子。
為什麼做出來的業務報表總被說沒用?怎麼樣才能做出令人滿意的報表呢?結合我將近10年的從業經驗,給大家一些建議,希望能夠幫助到大家。
業務報表製作範例
業務報表開發要以人為本
做業務報表其實就相當於做產品,我們目的是要讓使用者(業務、領導)滿意,願意看,願意用,所以報表好不好不是開發人員覺得好就好,而是要從看報表的人出發,使用者覺得好才好。因此我們在開發報表的過程中要以人為本,搞清楚報表的目標使用者(給誰看),使用者需求(他想看什麼)。
對於基層業務人員,他們的報表需求大多都是資料查詢,比如檢視訂單資料,任務完成進度等等,注重報表的實用性,因此,這類的報表不需要有太多的分析思想,要操作簡單,針對性強。
對於高層領導,他們沒有太多的時間去深入研究報表的細節,更多的需求是一目瞭然看到核心資料,因此這類的報表要簡潔明瞭,直接體現結果,並且提供聯動鑽取等簡單的操作發現數據背後的問題,然後讓下屬去分析彙報。
不同的业务報表查看人群決定了報表設計風格的不同,有些公司的業務部門會有專門的人負責對接報表需求,需求由他統一對接,但是他本人並不一定是報表的直接使用者,所以我們在溝通需求的過程中,要儘量獲取報表直接使用人的具體資訊,甚至想辦法獲取第一手的報表使用者的直接需求。
挖掘業務需求
解決實際面臨的問題,還有一種情況是,業務有想要的東西,但是不知道該怎麼提需求,提出來的需求可能和他想要的不一致,這就導致需求改了又改,都達不到他們心中所想。
因此,這就需要我們報表開發者發揮主觀能動性去挖掘業務需求,畢竟做報表我們才是專業的,利用我們的專業知識引導業務,幫助業務完善需求,而不是簡單的確認需求。
舉個例子,省公司業務人員提得報表只關注地市維度,但實際縣市級緯度也需要,但業務在需求中沒有提,如果你只簡單按照需求實現了這張表,地市人員會發現沒有縣市維度,他們又會提一個縣市維度的報表,本來一張表就能解決的事情就衍生成了幾十張報表,苦的還是開發人員。
化繁為簡,做好報表管理
企業的資料是日積月累的,報表需求也是綿延不絕,因此企業積累的報表也越來越多,但是其實大部分報表的最終宿命都是躺在系統裡沒人看,真正有用的只有一小部分。
為什麼我們總是有無窮盡的報表要做?本質上就是因為報表本身其實就是展現緯度和指標,企業的不同層級的人員對於指標展現的需求不同,於是就透過緯度和指標組合生成更加複雜的指標,進而導致了各式各樣的報表展現需求。但實際上,我們仔細研究每個部門提出的需求,發現有大量的內容都是重複的,以零售業舉例子,看起來滿天飛的報表需求,其實都是圍繞著這幾個主題轉:銷售、庫存、採購、物流、會員、商品,只不過是透過不同的緯度來看其中的指標。
所以,面對無窮盡的報表需求,我們要對報表做好分類。上面提供了三種分類的緯度,一種是從目標使用者緯度分類,一種是從銷售、財務等業務主題緯度分類,還有一種是按照報表的功能緯度分類。個人建議按照報表功能緯度進行劃分,用另外兩個維度進行描述。比如:
資料查詢類報表
涉及業務模組:銷售、庫存
報表名:實時指標查詢;使用者群:店長(中層)、品類經理(中層)
將報表分類清晰之後,我們就會發現在同一個報表型別、業務模組下面,可能會有多個報表,這些報表的分析目的可能是一致的,實際上就可以進行壓縮合並。比如在庫存業務模組下面的查詢報表有部門庫存分析表,庫存結構分析表(還分部門、品牌、單品三個緯度)缺貨斷貨統計表等等。
上面這幾個表的目的是瞭解商品庫存情況,剩餘庫存結構,從而管理好庫存或執行商品促銷策略。這三張表完全就可以放在一張報表中,更好的辦法還可以採用圖表結合的形式來展示。
這樣一壓縮,很多需求就不攻而破了,即方便了業務人員的檢視,也方便進行報表管理,減輕製表壓力,一舉兩得。
利用高效的業務報表開發工具
做好報表除了報表內容對業務胃口之外,需求完成效率也是評價報表開發好壞的因素之一。因此,選用高效率的報表開發工具,對報表開發的過程也十分重要。
報表開發一般有以下幾種方式:
一是用Excel內建的圖表做一些常規的統計圖,一些高階的動態圖表,引數聯動篩選等可以透過寫VBA來實現,這種方式是很多企業最初的做法,但是時間久了弊端就出現了,資料量越來越大,Excel難以支撐,報表開啟卡頓;資料收集麻煩,而且不能打通各個系統中的資料
還有就是用透過R、Python一類的資料分析語言,呼叫圖表功能包,呈現視覺化的資料,資料分析常用。或者藉助Echarts、HighCharts、D3.js等開源的視覺化外掛,嵌入程式碼,開發成外掛包,視覺化工程師和前端開發常用。
再有就是使用現成的開源報表工具如JasperReport 、OpenReport,但會遇到一些難題,如:列印報表;複雜的資料計算;複雜格式的報表展示;頁面、列印、匯出word、pdf、excel格式一致性等等,而且後期的報表維護很苦難,需求一改就寫大量的程式碼
還有一個簡單的辦法就是用商業報表工具,比如水晶報表、FineReport,個人比較推薦FineReport ,報表設計過程方便,支援多種資料來源連結,三種報表模式覆蓋明細/分組/交叉/分頁/分欄樹報表、視覺化dashboard、大屏、複雜中國式大聚合報表等,基本能滿足絕大部分的報表需求。
懂数据,懂业务
在之前寫資料分析的文章裡,我經常提到做資料分析必須要懂業務,做報表也一樣,很多報表開發者工作2年之後就會覺得自己能力難以成長了,能掌握的報表知識和系統知識基本都掌握了,不知道還能從哪些方面再進步,這時候業務知識的掌握往往就成為了報表人能力的分水嶺。借用之前看過的一篇文章中的一個例子:
比如行動通訊中有離網這個指標,很多業務人員認為離網就是簡單的一個指標,但在系統中,離網包含主動銷戶、賬戶欠費銷戶等更多的含義,離網的業務流程系統實現其實非常複雜,每類離網實際表達了不同的業務含義。
業務流程的制定往往是幾代業務人員積澱下來的成果,極少數業務人員能理解的很透徹,但系統中則完整的記錄了下來,作為報表開發者,你應該成為這個知識的傳承者,才能夠作出一張超越業務人員的報表。
比如,目前主流的軟體——FineReport,它小到填報、查詢、部署、整合,大到視覺化大屏、dashboard駕駛艙,應有盡有,功能很強大。最重要的是,因為這個工具,整個公司的資料架構都可以變得規範,下一步就是構建企業的大資料平臺了。而且它是java編寫的,支援二次開發,類Excel的設計器,無論是IT還是業務,上手都很簡單:編輯sql最佳化、資料集複用簡直都是小case,大大降低了報表開發的門檻。在企業中被關注最多的資料安全方面,FineReport支援多人同時開發同一套報表,並透過模板加鎖功能防止編輯衝突;透過資料分析許可權控制,保障資料安全。
喜歡這篇文章嗎?歡迎分享按讚,給予我們支持和鼓勵!