SpagoBI 和 开源ERP(iDempiere)整合入门

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
SpagoBI 和 开源ERP(iDempiere)整合入门_第1张图片

进入系统以后,选择报表中的cockpits报表
SpagoBI 和 开源ERP(iDempiere)整合入门_第2张图片

我们随意进入下面的3个界面,看一下cockpits报表大概是个什么样子
注意,cockpit是支持点击筛选的,如下图的New Sales,我们在点击Food以后,系统自动将界面进行了全部刷新,同时给出了以Food作为条件的筛选结果的图表。
a. New Sales
SpagoBI 和 开源ERP(iDempiere)整合入门_第3张图片
直接在New Sales中点击饼图中 Food以后,界面自动全部刷新,同时给出了Food作为条件的筛选结果。
SpagoBI 和 开源ERP(iDempiere)整合入门_第4张图片
b. CD Sales
SpagoBI 和 开源ERP(iDempiere)整合入门_第5张图片

c. CD Customer Analysis
SpagoBI 和 开源ERP(iDempiere)整合入门_第6张图片
d. CD Product family trend
SpagoBI 和 开源ERP(iDempiere)整合入门_第7张图片

可以看到,cockpit报表无论是从界面还是友好程度,都比普通的BI增强了不少。

下面我们以一个实际的例子,来说明怎样将SpagoBI和iDempiere进行整合。

我们先启动iDempiere的DB,我们使用里面的product数据,进行操作。
启动iDempiere的DB后,我们在SpagoBI中配置数据源
SpagoBI 和 开源ERP(iDempiere)整合入门_第8张图片

我们配置iDempiere的数据源
SpagoBI 和 开源ERP(iDempiere)整合入门_第9张图片

设置好了数据源以后,我们新增一个dataset
SpagoBI 和 开源ERP(iDempiere)整合入门_第10张图片

简单起见,我们直接抓取订单表的信息,作为一个dataset
注意其中的category栏位,后面我们的报表会以此栏位作为组合的依据
SpagoBI 和 开源ERP(iDempiere)整合入门_第11张图片

Sql粘贴完成以后,点击右上角的Fields metadata,进行设置,将后面的3个值设置为measure
measure和attribute各自代表的含义,请参照OLAP的定义及说明
SpagoBI 和 开源ERP(iDempiere)整合入门_第12张图片

保存了以后,我们就可以根据该dataset,新建一张cockpit报表了。

点击左侧的文件夹选项,然后随意选择一个文件夹,开始创建我们的报表。
在创建报表时候,我们选择cockpit报表。
SpagoBI 和 开源ERP(iDempiere)整合入门_第13张图片

点击右上角的add widget图标,添加一个界面控件

在控件界面,仍然选择右上角的配置界面
SpagoBI 和 开源ERP(iDempiere)整合入门_第14张图片

系统会将所有的dataset全部显示出来,这时候,我们选择我们的dataset
SpagoBI 和 开源ERP(iDempiere)整合入门_第15张图片

我们先拖拉一个表格到右边
SpagoBI 和 开源ERP(iDempiere)整合入门_第16张图片

然后选择下面的selected fields,将所有栏位都拉入到visible fields里面去,如下图
SpagoBI 和 开源ERP(iDempiere)整合入门_第17张图片

点击confirm以后,我们可以看到控件自动显示出来,同时数据为iDempiere中的数据
SpagoBI 和 开源ERP(iDempiere)整合入门_第18张图片

我们再重复前面的操作,增加第二个控件,这次我们拖拉一个barchart进来
同时配置栏位如下
SpagoBI 和 开源ERP(iDempiere)整合入门_第19张图片
confirm以后,可以看到图表的结果,由于我们sql没有将category的name显示出来,这里直接显示了id作为演示,实际需呀的话可以进行更改。
SpagoBI 和 开源ERP(iDempiere)整合入门_第20张图片

我们再拖拉一个控件,这次拖拉一个饼图
SpagoBI 和 开源ERP(iDempiere)整合入门_第21张图片

确定了以后,在总界面上面调整一下各个控件的位置,然后点击右上角的保存按钮。
SpagoBI 和 开源ERP(iDempiere)整合入门_第22张图片

给报表起一个名字并保存
SpagoBI 和 开源ERP(iDempiere)整合入门_第23张图片

暂时不去管权限分配的事情,在document browser中双击我们的报表进行查看
SpagoBI 和 开源ERP(iDempiere)整合入门_第24张图片

可以看到,报表正常运行,显示了图表和表格
SpagoBI 和 开源ERP(iDempiere)整合入门_第25张图片

这时候,我们随便点击饼图里面的一个category,可以看到,系统自动按照该category进行了筛选,同时将所有的界面进行了刷新,如下面的图示,可以看到,表格中的数据已经全部筛选为该category的订单行。
SpagoBI 和 开源ERP(iDempiere)整合入门_第26张图片

如上所示,即使在不了解或者不使用OLAP的情况下,我们仍然能够使用简单的sql,来为用户生成BI界面,而且由于spagobi默认就支持移动设备尤其是ipad,我们基本上可以通过零成本,获取一个高效、美观的BI应用,从而为用户提供更好的操作体验。

由于SpagoBI同时支持OLAP、数据挖掘,我们可以整合iDempiere,深度挖掘用户的数据,提供更为深入的功能和解决方案。

展望一下,我们可以使用SpagoBI的图表功能,来对比2013年和2014年的订单趋势以及产品信息,从而做出更合理的预测;或者通过BI来挖掘产品的销售潜力,等等。具体的应用场景,需要各位根据需要研究了。

你可能感兴趣的:(ide)