Created by 藍色布魯斯,QQ32876341,blog http://www.cnblogs.com/zzyan/
iDempiere官方中文wiki主頁 http://wiki.idempiere.org/zh
iDempiere 中文社區www.idempiere.org.cn
iDempiere 中文社區QQ群 65713012
本文研究怎么使用SpagoBI來對開源ERP的功能進行擴展。
本文主要介紹SpagoBI5的新功能cockpit,進行拋磚引玉,希望能夠引發SpagoBI社區和開源ERP社區的注意,將開源ERP和開源BI進行整合,看看是否能夠碰撞出新的火花出來。
Cockpit這個新功能個人感覺更像是一個優化了的界面庫,和后台數據本身關系並不特別大,但是我覺得cockpit直接降低了BI作為工具的使用難度以及開發難度,而且提供了一個非常友好的交互界面,這個是ERP本身、報表或者jpivot界面無法提供的。
更誇張一點說,個人覺得cockpit能夠極大的推動項目的銷售,從而使得iDempiere及SpagoBI的應用更為廣泛。因為BI主要面向的客戶就是高層管理人員以及老板,在推銷的時候,提供一個漂亮的界面和直觀的圖表,以及同時支持PC和手持設備(尤其是ipad)的點擊交互的方式,比漂亮的ppt更能吸引人,更有說服力。
本文中沒有使用數據倉庫,也沒有ETL將數據從iDempiere拉到數據倉庫的過程,實際使用中如果有需要的話,可以另外建立數據倉庫作為SpagoBI的后台數據庫。ETL過程可以參考下面鏈接的中間部分ETL的使用視頻。ETL可以使用talend作為客戶端開發工具,開發出來的ETL過程可以直接導入到SpagoBI中,由SpagoBI管理和運行。
http://erp-academy.chuckboecking.com/?page_id=1228
個人感覺,如果只是以iDempiere作為基礎,BI作為補充展現的話,直接用iDempiere的數據庫就好了,如果需要做OLAP分析,也可以直接在postgres上面另建一個庫的方式代替,這樣可以降低管理難度。
如果和開源ERP進行集成的話,還需要考慮整合統一驗證的部分,需要額外處理。
本文使用spagobi 5.0 all in one,進行測試。啟用時候需要配置一下java home, classpath, catalina_home等變量,具體請參考spagobi的配置文檔。然后通過bin文件夾下面的SpagoBIStartup.bat進行啟動。這個bat會同時啟動一個HSQL的內存數據庫作為DEMO的數據源。
訪問localhost:8080/SpagoBI,系統登錄界面如下,登錄密碼為biadmin/biadmin
進入系統以后,選擇報表中的cockpits報表
我們隨意進入下面的3個界面,看一下cockpits報表大概是個什么樣子
注意,cockpit是支持點擊篩選的,如下圖的New Sales,我們在點擊Food以后,系統自動將界面進行了全部刷新,同時給出了以Food作為條件的篩選結果的圖表。
a. New Sales
直接在New Sales中點擊餅圖中 Food以后,界面自動全部刷新,同時給出了Food作為條件的篩選結果。
b. CD Sales
c. CD Customer Analysis
d. CD Product family trend
可以看到,cockpit報表無論是從界面還是友好程度,都比普通的BI增強了不少。
下面我們以一個實際的例子,來說明怎樣將SpagoBI和iDempiere進行整合。
我們先啟動iDempiere的DB,我們使用里面的product數據,進行操作。
啟動iDempiere的DB后,我們在SpagoBI中配置數據源
我們配置iDempiere的數據源
設置好了數據源以后,我們新增一個dataset
簡單起見,我們直接抓取訂單表的信息,作為一個dataset
注意其中的category欄位,后面我們的報表會以此欄位作為組合的依據
Sql粘貼完成以后,點擊右上角的Fields metadata,進行設置,將后面的3個值設置為measure
measure和attribute各自代表的含義,請參照OLAP的定義及說明
保存了以后,我們就可以根據該dataset,新建一張cockpit報表了。
點擊左側的文件夾選項,然后隨意選擇一個文件夾,開始創建我們的報表。
在創建報表時候,我們選擇cockpit報表。
點擊右上角的add widget圖標,添加一個界面控件
在控件界面,仍然選擇右上角的配置界面
系統會將所有的dataset全部顯示出來,這時候,我們選擇我們的dataset
我們先拖拉一個表格到右邊
然后選擇下面的selected fields,將所有欄位都拉入到visible fields里面去,如下圖
點擊confirm以后,我們可以看到控件自動顯示出來,同時數據為iDempiere中的數據
我們再重復前面的操作,增加第二個控件,這次我們拖拉一個barchart進來
同時配置欄位如下
confirm以后,可以看到圖表的結果,由於我們sql沒有將category的name顯示出來,這里直接顯示了id作為演示,實際需呀的話可以進行更改。
我們再拖拉一個控件,這次拖拉一個餅圖
確定了以后,在總界面上面調整一下各個控件的位置,然后點擊右上角的保存按鈕。
給報表起一個名字並保存
暫時不去管權限分配的事情,在document browser中雙擊我們的報表進行查看
可以看到,報表正常運行,顯示了圖表和表格
這時候,我們隨便點擊餅圖里面的一個category,可以看到,系統自動按照該category進行了篩選,同時將所有的界面進行了刷新,如下面的圖示,可以看到,表格中的數據已經全部篩選為該category的訂單行。
如上所示,即使在不了解或者不使用OLAP的情況下,我們仍然能夠使用簡單的sql,來為用戶生成BI界面,而且由於spagobi默認就支持移動設備尤其是ipad,我們基本上可以通過零成本,獲取一個高效、美觀的BI應用,從而為用戶提供更好的操作體驗。
由於SpagoBI同時支持OLAP、數據挖掘,我們可以整合iDempiere,深度挖掘用戶的數據,提供更為深入的功能和解決方案。
展望一下,我們可以使用SpagoBI的圖表功能,來對比2013年和2014年的訂單趨勢以及產品信息,從而做出更合理的預測;或者通過BI來挖掘產品的銷售潛力,等等。具體的應用場景,需要各位根據需要研究了。