开源 BI 实践:大屏仪表盘 DBD

BI 系统中用仪表盘 (Dashboard/DBD) 应对精美展现需求,它能对多个联动的多维分析图表做精细布局。DBD 模块基础功能仍然是多维分析,所以 DQL 提升多维分析的敏捷能力,同样也能延用到 DBD 模块。

DBD 页面概览

DBD 的设计页面是 /raqsoft/guide/dbd2.0/jsp/olaptabs.jsp,如下是一个编辑好的 DBD:

..

用 DQL 数据集或单数据集做多维分析的操作,与之前多维分析页面大体相同,就不再赘述。

左侧布局的子元素除了多维分析图表,还可以是全局参数控件,修改控件的参数值后,就会重新过滤数据,更新所有图表,实现动态联动。

共享参数及参数控件

先定义三个全局共享参数:
..

之后对每个单独的图表设置查询条件时,就可以使用这些共享参数了,比如下面选中的“订单明细”表格把共享参数的值都应用到查询条件里,之后某共享参数值发生改变时,所有使用它的图表都会联动更新:

..

界面上添加参数控件,这些控件就能动态修改共享参数的值,比如下面这个滑块控件,关联共享参数“最小订单金额”

..

集成入自己系统

依赖文件

润乾报表内置了 tomcat 服务器,安装润乾报表后,能看到 WEB 应用根目录…/report/web/webapps/demo/,复制以下文件到自己的 WEB 应系统:

{WEB 根目录}/WEB-INF/lib 下的 raqsoftReport.jar(润乾报表)、esproc-*.jar(集算器)、guide-*.jar(多维分析 /DBD),其它 jar 为第三方各种功能的 jar,根据实际需要复制;

DBD 前端 js、jsp、图片等的主目录 {WEB 根目录}/raqsoft/guide/dbd2.0/。

复制配置文件:/WEB-INF/raqsoftAnalyse.tld(DBD 的 taglib 定义)、/WEB-INF/raqsoftConfig.xml(润乾报表、集算器统一的配置文件)。

修改配置

润乾 web.xml 要和自己的 web.xml 合并,注意 listener、filter、servlet、taglib 节点有顺序要求,需要按顺序逐步的合并。

/WEB-INF/raqsoftConfig.xml 是润乾环境的主要配置文件,多维分析 /DBD 中用到的数据源就在这里定义,可以根据需要增删其中的数据源。

开源代码

浏览器端的 Javascript 源代码都在 {WEB 根目录}/raqsoft/guide/dbd2.0/js/ 下:

dashboard.js,实现 dbd 模块的主要逻辑;

dqlApi_d2.js、dqlreport_d2.js、query_d2.js、common_d2.js、where_d2.js 等是从多维分析模块拷贝过来的,根据 DBD 的功能需求稍作修改,可以理解为 DBD 是基于多维分析页面做二次开发的一个范例。

专属 DBD 模块的 JAVA 代码不多,它的 JSP 标签类 com.raqsoft.guide.tag.LayoutDashboardTag2.java 是从多维分析的标签类 AnalyseTag.java 复制而来,针对 DBD 需求稍作了些修改;

com.raqsoft.guide.web.dbd.DDWData.java 是处理数据的类;

多维分析中的处理 WEB 请求的类 ActionResultPage.java 中增加了一些支持 DBD 操作的代码。

DBD 和多维分析功能有很大的程度的重叠,基于 DQL 都容易让它们实现敏捷 BI。但也能看出来,这些雷同的基础功能遇到不同前端需求时,前端实现方案可能差距很大,再次印证了用户参与 BI 前端开发与定制,可能是一种较优的 BI 方案,反而固定功能的 BI 产品难以应付不稳定的前端需求。


以下是广告时间

对润乾产品感兴趣的小伙伴,一定要知道软件还能这样卖哟性价比还不过瘾? 欢迎加入好多乾计划。
这里可以低价购买软件产品,让已经亲民的价格更加便宜!
这里可以销售产品获取佣金,赚满钱包成为土豪不再是梦!
这里还可以推荐分享抢红包,每次都是好几块钱的巨款哟!
来吧,现在就加入,拿起手机扫码,开始乾包之旅



嗯,还不太了解好多乾?
猛戳这里
玩转好多乾