BI 前端实践 14:探究润乾多维分析的开源代码

实践目标

通过解构润乾多维分析系统,阅读关键源代码,详细了解其能力构成,从而总结出使用它的指导意见。

润乾多维分析系统的特殊性

现在主流多维分析系统都是BS结构的,大多是一个多用户WEB系统,用户在浏览器上操作,向WEB服务器发出请求,WEB服务器再从数据库(或文件)里获得数据返回给界面。同时设计了一种用户角色权限方案,内置在系统中。还能对系统中的数据源/数据集/分析文件/系统日志等各种资源进行管理。往往是一个重度、密不可分的WEB系统,买来即用,基本上不涉及二次开发。

润乾多维分析比较特殊,整体比较轻量,通过试读其关键源代码,有下面四个特殊点需要细究:

1、它重点推荐使用的数据源并非常规数据库(DB Server),而是把DB Server用语义层描述后,封装起来,再用DQL Server提供数据查询服务,当然查询语言也就从之前的SQL变成了DQL。之所以费劲搞这个封装,是基于DQL的元数据树做多维分析,能自动解决JOIN等一些难题,提前CUBE建模的步骤就基本省去了。

2、没有内置用户权限系统,要根据自己已有系统登录用户的权限,通过在session中设置隐含条件、JS变量中设置资源路径等方式进行控制。

3、分析结果以分组、交叉表格、不同种类的统计图展示,制作这些图表不是个小工程,润乾多维分析的代码里确实也没自己制作,是借用了润乾报表API,根据分析操作用JAVA程序生成润乾报表(*.rpx,通常是用设计器制作润乾报表的)。

4、运行环境中集成了集算器脚本,可以处理一些需要特殊编程才能支持的数据,比如有的多维分析内置了读取excel文件的能力,但不支持读取txt、csv、json文件,这些容易用一句类似的集算器脚本支持:file(a.csv).import@t(;,“,”)。有特殊数据来源,或需要复杂计算,或需要解决性能的计算,都可以用这种集算器脚本实现。

在细究这些特殊点之前,先看一下都有哪些相关源代码。

浏览器端的Javascript源代码都在{WEB根目录}/raqsoft/guide/js/下,主要的js文件有dqlApi.js、dqlreport.js、query.js、raqsof

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值