自助報表需求已經是越來越普遍,各行業的應用軟體中,不管是主動還是被動,都在思考并在努力實作自助報表功能
這樣做對于用戶來說,可以自由靈活的去分析了解資料,不再拘泥于固定格式的資料報表,方便靈活、體驗更好的同時,也能盤活更多資料的價值
對于應用軟體廠商來說,則能省去很多開發和維護成本,還同時拓寬了自己的業務范圍,增強了自身的競爭力
那怎么實作呢
BI 系統中通常都有這個功能,但并不在應用系統中,使用時,還得兩個系統來回切換,很不方便,還是得應用系統中自己有用起來才更順手
找一個可以被集成的自助報表組件
完全自己做還是比較困難的,作業量非常大,所以,第一步是找個現成的組件
但這一步其實挺難的,市面上有自助報表功能的產品挺多,但基本都是前面說到的完整的 BI 平臺解決方案,把一個系統平臺集成到另一個應用系統中,難度非常大而且還不流暢,而這些平臺也沒有把自助報表當成一個中間件獨立的拆出來供用戶來集成,所以挺難
方便被集成的,以中間件形式提供產品的,目前貌似也就潤乾報表了
獲取方法:
1 下載安裝包并安裝: http://www.raqsoft.com.cn/download/download-jsbb
2 下載開源依賴檔案并替換:http://c.raqsoft.com.cn/article/1619664848326
潤乾自助報表模塊是開源的,在普通安裝包里替換這個檔案后就可以免費使用了
集成程序
我們以方便集成的潤乾報表為例來看一下集成程序
當前大部分資料資訊化專案都是 java 的,潤乾的自助報表是標準的 j2ee 應用,只需要把 jar 包,xml 和 tag 描述檔案放到應用下就可以了,并沒有什么難度

第一步:復制jar包

把自助報表jar包和相關檔案復制到到自己應用對應的目錄中
如果還有一些其他的需求,比如匯出EXCEL等,再把需要的包復制一下就可以了,具體操作時可以參考檔案進行
第二步:應用配置
1 把潤乾web.xml中的內容抄進應用的 web.xml 檔案中并按要求的順序合并
2 在raqsoftConfig.xml配置要分析的資料源等資訊
第三步:準備資料集
準備一個要用來做自助報表的資料集,我們用來自如下訂單表的一句SQL作為資料集
select * from 訂單

第四步:發布自助報表
在jsp中用tag標簽配置這個資料集,并把jsp發布到服務器

然后就可以通過url訪問了,并進行自助操作


就這么簡單,在jsp中加入tag標簽,自助報表功能就集成到自己的應用中了
更完整詳細的集成程序可以參考:
怎樣在應用中集成自助報表功能
另外,潤乾自助報表不僅可以被集成,而且還是開源的,集成以后,還可以對頁面進行更深層次的改造,讓頁面和功能可以更好的適配自己的系統
功能漫游
基本功能集成后,我們再來看一下自助報表能做到什么效果
報表樣式
常規的串列、分組、交叉等樣式是所有組件的基本功



復雜程度高一些的,比如下面這個多層分組交叉,能力強一些的制作也都沒有問題

這些報表也都可以匯出、列印,功能完整
還可以利用現成的模板生成各類統計圖



計算能力
大處看樣式,細節看計算,相同的樣式背后,涉及的計算可能大有不同,有些只需要做簡單的統計匯總,有些則需要做復雜的的排名,占比,同比環比等
工具的自助能力各有不同,有的制作起來簡單,有的繁瑣,有的也可能做不了
排名

占比

同比環比


累積

復雜條件過濾

資料來源
自助報表的作用是為了分析資料,是為了把各類抽象的資料變成具象易懂的圖表,應用系統集成自助報表后,自然會希望它可以處理各中型別的資料,應對各類的場景,這就需要工具可以支持各類不同的資料來源才可以,臨時來一個檔案資料可以分析,只給一句SQL也能做表,遇到復雜多庫表關聯的沒問題,方便多次復用的語意層工具也有,想控制權限還能控制權限,各種場景都能應付自如才行
檔案資料源分析
資料來源是EXCEL檔案,data.xls

在jsp中通過tag標簽配置這個EXCEL,然后發布頁面

發布后業務人員就可以看到EXCEL中的資料,并可以對其進行報表制作了

SQL資料源分析
“集成程序”章節中用到的示例,就是用的來自SQL的資料源,這里就不重復說明了,有需要的可以翻到上面再看一下
語意層
臨時的,簡單的分析直接基于SQL來做會比較方便,重復的,頻繁的分析如果每次寫SQL,每次都得as中文名稱,join,增加指標就會挺麻煩
通過語意層來解決這些問題效果就會好很多
定義好語意層:

raqsoftConfig.xml中添加物理資料源和語意層(DQL)資料源

Jsp中通過標簽呼叫定義好的語意層檔案資料來源,頁面展現時候就可以看到中文欄位了

自助資料源
前面的三種資料來源是技術人員定義好資料集以后給業務用戶直接用的,如果業務用戶想自己定義資料集,自己來設定要分析哪些欄位,也是可以的,當然前期還得技術人員協助設定一下元資料,因為如果直接讓用戶面對資料庫的資料去操作,用戶是理解不了這些復雜的表名和之間的關系的,也無從下手的


技術人員設定好基礎的元資料字典檔案后,在jsp中通過tag標簽設定對應檔案,發布后用戶就可以看到如下界面了,左面已經是可以輕松理解的中文名稱了


業務人員自助選擇自己要分析的欄位,拖拽后生成新的資料集,然后進入自助報表頁面就可以看到新的資料集并進行報表制作了

權限控制
有了語意層后也可以控制資料權限了

上圖中“員工分析”這個分類只能看到勾選的表和欄位里的資料
也可以單獨針對某個表進行權限控制,還可以控制同一個表,不同的人看到不同的資料,比如每個銷售只能看到自己的訂單

到這里,主要的功能就基本都羅列到了,如果一個自助報表工具以上能力都具備,那功能方面就可以過關了
總結
應用中怎么實作自助報表功能,最難的地方其實是:怎么找一個功能全面且能集成的工具,這個難題解決后,剩下的具體集成對于工程師來說就不算什么難事了,現在難題也被解決了,站在別人的肩膀上不說看的更高走的更遠吧,起碼能省很多事了,接下來要做的,就是實際集成一次,親自驗證一下看看到底能不能滿足自己的需求了
潤乾報表資料
- 潤乾報表官網
- 潤乾報表下載
歡迎關注我的公告號:字母哥雜談,回復003贈送作者專欄《docker修煉之道》的PDF版本,30余篇精品docker文章,字母哥博客:zimug.com
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/521779.html
標籤:Java
