1、基于 Oracle BIEE 图表展示与 ECharts结合的优化研究 骆龙飞 武汉轻工大学数学与计算机学院 摘 要: Oracle BIEE 作为主流的商业智能工具之一被各中小企业广泛使用, 但其较为机械、单一和粗线条的图形化展示界面一直为使用者所诟病。本文以结合北京合纵科技股份有限公司的 Oracle BIEE 系统搭建为基础, 将 ECharts 的图形化优势与 Oracle BIEE 相结合, 进而将美化、可视、人性化的商业智能系统统一到仪表盘的展示当中。关键词: 商业智能; Oracle BIEE; 数据展示; ECharts; 图形优化; 作者简介:骆龙飞 (1992.04-) ,
2、 男, 河北省石家庄人, 研究生在读, 现就读于武汉轻工大学, 中级工程师, 研究方向:农业信息化。收稿日期:2017-11-14LUO Long-fei Received: 2017-11-141 引言北京合纵科技股份有限公司是一家输配电制造企业, 为了更好地适应市场发展的需要, 及时感知市场变动的情况, 于 2017 年在其 ERP 系统运行的基础上引入商业智能 Oracle BIEE 针对其经营分析系统加以分析管理。Oracle BIEE 作为大型数据库服务提供商 Oracle (甲骨文) 公司旗下的主流产品, 凭借其强大的数据库管理和数据分析能力为北京合纵科技股份有限公司提供了极其有力
3、的商业智能分析平台。但经过一段时间的运行与实践, 其较为单一化、扁平化和机械感的图形展示界面成为了最为美中不足的一点。因此, 一个能够的结合Oracle BIEE 强大后端数据库管理的前端界面优化解决方案亟待研究出现1。基于上述背景, 本文从应用的角度出发, 以 Oracle BIEE 架构为基础, 结合ECharts 图形工具, 以北京合纵科技股份公司的实际项目为例, 展开对商业智能中基于 Oracle BIEE 与 ECharts 的优化研究。2 Oracle11g BIEE 与 Echarts 介绍2.1 Oracle BIEE 简介Oracle BIEE 作为 Oracle 新的商业智
4、能平台企业版, 能够对信息的搜集、管理和分析过程提供强有力的支撑, 并且对物理层、业务模型和映射层和表示层三层模型的理解和定义创造了一个非常简洁清晰的数据模型2, 使用这个数据模型可以完整地链接企业内各个异构数据源, 把多个数据源数据组织到一起, 提供更加全面、有效、详细、及时的操作性信息3。Oracle BIEE 的主体框架由数据仓库 DW、BI 服务器 (BIEE Server) 和 BI 展示服务 (BI Presentation Services) 三部分组成, 其中最重要的应属处于核心地位的 BI Server, 它主要通过 ODBC 的链接方式, 管理资料库 Repository
5、的文件4。2.2 ECharts 介绍ECharts 来源于 Enterprise Chart 的缩写, 一个纯 Javascript 的商业级数据图表库, 可以自由的根据需要选择不同主题, 不同版本来在 PC 和移动设备端上流畅的运行并且兼容当前绝大部分主流浏览器 (IE8/9/10/11, Chrome, Firefox, Safari 等) , 对于浏览器的完美适配为 Oracle BIEE 这种基于浏览器的 B/S 框架设计提供了良好的适配环境5。ECharts 商业产品图标库底层基于全新的轻量级 canvas 类库 ZRender, 创建了坐标系、图例、提示、工具箱等基础组件, 并在
6、此基础上提供了十分丰富的图表类型, 并且 ECharts 还支持图与图之间的混搭, 完全能够实现按任意维度的堆积和多图表混合展现。另外, Echarts 本身对于移动端的优化、深度交互式数据的探索, 大数据的展现, 多位数据的支持以及丰富的视觉编码手段和其绚丽的展现效果都成为该商业级数据图表的独到亮点。ECharts 图表库架构示意图如图 1 所示。图 1 ECharts 图表库架构示意图 下载原图3 基于 Oracle BIEE 的北京合纵公司经营分析系统设计3.1 BI 系统功能北京合纵科技股份有限公司的经营分析系统一共分为四个模块:中标数据分析、合同数据分析、事业部发货分析、事业部毛利率
7、分析;进而实时展现公司的营销系统的经营情况, 数据来源为公司现行的 ERP 系统, 数据库为 Oracle11g。(1) 物理模型的创建。在系统开始设计阶段, 在 BI 数据库中建立数据库维表来分类存储业务逻辑层将会使用到的分析维度, 建立事实表来存储 BI 中各个模块的明细数据。(2) 逻辑模型创建。在设计好 BI 数据库的物理模型之后, 将上一步中定义的物理模型拖拽到业务模型和映射层定义区域, 把物理层的数据源按照业务人员需求重新定义构建成星形或雪花模型。将维表与事实表通过数据表主外键关系建立对应的业务逻辑维, 并设计逻辑维的层次结构以及事实表度量。(3) 表示层设计。在该层一般以最终业务
8、人员的词汇语言进行描述, 并且会根据实际需求来隐藏掉最终使用者并不关心的数据.3.2 Oracle BIEE 界面展示当完成上述三大块主要设计后, 就可以在 BIEE 提供的前端 WEB 页面进行数据展示层的图形和报表设计。一般情况下, 业务人员会利用 BI Answer 开发设计报表并保存在 BIEE 应用的文件夹下, 最后统一集成到仪表盘展示。如图 2 所示, 但可以清楚地看到, 由于 BIEE 对于数据表格、柱状图和饼图的局限性, 虽然能够清楚地展现三年同期对比各区域合同金额, 图形整体感却较为呆板, 并且无法同时看到各区域的合同金额占比情况, 需要再额外设计一个饼状图才能得出, 增加了
9、业务人员的工作成本。图 2 按区域查看合同情况图 下载原图4 ECharts 与 BIEE 结合的优化研究为了更好地展示 BIEE 所体现的数据分析结果, 使得图表颜色更为饱满, 内容更为充分就需要借助 ECharts 工具的力量来优化 BIEE 在 Web 图形展示的局限性。由于 BIEE 的分析提供了叙述视图, 该视图支持用户自己编写 Html 代码, 所以我们可以通过叙述视图来将 ECharts 作为我们的图形展示组件。(1) 寻找 ECharts 模板。想要更为美观的实现 BIEE 的展示效果, 首先要寻找对应的模板元素。以各区域合同金额为例, 用户希望在看到当年各区域合同金额柱状图的
10、基础上还能够同时知晓各区域的合同金额占比情况, 这就需要我们先行收集 ECharts 模板中柱状图和饼状图的模板样式以及 JAVAScript 的源代码逻辑。(2) 移植代码。在找到合适的模板及代码后, 就需要将 ECharts 本身的元素及代码移植到 BIEE 当中, 形成以 BIEE 后台数据为基础, ECharts 前端代码为模板的图形展示体系。首先要将 ECharts 的 js 文件导入到 BIEE 的服务器中并更新 analytics Res 应用程序, 使其生效并在 BIEE Web 端前缀部分予以声明, 然后将对应模板中 JAVAScript 代码复制进 BIEE Web 端编辑
11、的后缀当中。由于ECharts 和 BIEE 结合后其数据来源必须以 BIEE 的数据为准, 所以要在前缀中定义取值来源的数组 var data 1=, 然后再叙述中定义数组的取值来源data1.push (3) , 其中3代表其取值表中的第三列。最后在后缀部分将移植过来的 JAVAScript 代码改写成业务人员实际需要的图表取值和图表样例。(3) 成果展示。通过代码移植和改写后, 即可以在界面前端查看被 Echarts 整合后新的图表模型。整体感更为紧凑, 样式更为鲜活, 图表内容更加丰富。如图 3 所示。图 3 ECharts 优化后前端展示图 下载原图可以清楚地看出, 在引入 ECha
12、rts 图形工具进行优化后, 不仅能够使得原先颜色较为单一, 样式较为古板的 BIEE 前端展示界面变得更加色彩丰富, 图感柔和;还将饼状图、柱状图、折线图三者多图表多坐标系的图表融合到了一起, 提高了使用者的信息获取效率。5 结语本文中北京合纵公司的 BIEE 系统在引入 ECharts 功能后, 不仅使得原先较为繁杂的报表系统通过整合得以更加清晰明了, 还极大地美化了使用者的视觉体验, 增强了数据的直观性, 提高了使用者的效率, BIEE 其本身色彩较为单一、图形较为古板、模板较为固定的缺点在引入 ECharts 商业级数据图表后也得以改善, 效果甚至是大为改观。本系统的成功实施和得以实际
13、应用让北京合纵公司的数据分析更加得心应手, 也对今后 BIEE 的发展方向提供了可以借鉴的成功案例。参考文献1黄钟明, 李跃明, 李娜.基于商业智能 (BI) 技术构建决策支持系统, 期刊电脑知识与技术2014 年 5 期 2刘飞跃, 徐新茹, 徐萍.Oracle BIEE 的概述与应用.中山大学学报, 2009. 3占军, 万定生, 李宇.基于 Oracle BIEE 水利普查数据展现系统研究。舰船电子工程, 2012 第 4 期. 4陈丹叶.基于 BIEE 架构的数据挖掘技术应用。上海交通大学, 2014. 5百度百科, ECharts 概述.http:/ 6BLASUM B.Business Rules and Business IntelligenceJ.DM Review Magazine, 2007:55-57