自助报表分析 5:Dashboard 与报表中心
Dashboard
将多个图表分析组合在一起就形成了数据仪表盘 Dashboard(DBD),用户可以在一个界面查看到所有关注的数据。DBD 的各个部分可以由固定报表、统计图、多维分析构成。
DBD 集成
润乾 DBD 仍然可以集成到应用中使用。如果在课程开始已经集成了 DBD(拷贝 raqsoft/guide/dbd2.0 到应用中)就可以直接在应用内使用 DBD 功能了。/dbd2.0/jsp/olaptabs.jsp 是 DBD 的设计页面,可以直接调用创建 / 修改 DBD。
DBD 沿用多维分析的数据源配置,能使用文件、数据库 SQL、DQL 等多种数据源。
DBD 可以配置全局参数,作用在 DBD 所有组件上。
调用 olaptabs.jsp 页面后,这些功能可以直接获得和使用。
编写一个能管理 DBD 的 JSP 主页
预先制作好了一个“简单.dbd”,在服务器上看到它再“WEB-INF\files\dbd”目录下,编写一个能够新建、编辑、发布预览DBD的dbdIndex.jsp:
访问这个 JSP,点击相关链接,能在新弹出的窗口里 (也可以用 iframe 嵌入的窗口) 实现这些操作。新建 DBD,用的是 olaptabs.jsp;编辑时也用它,通过参数把要编辑的 dbd 传进去,olaptabs.jsp?dbd=/ 简单.dbd;发布预览时,用另外一个 jsp,也是通过参数把要预览的 dbd 传进去,finalView.jsp?dbd=/ 简单.dbd。
给编辑页面增加一个清空按钮
DBD编辑页面没有提供清空按钮,通过修改相应jsp,增加js方法实现它,点击后能一下清除所有图表。
修改raqsoft/guide/dbd2.0/data.jsp,复制一个按钮,修改按钮名称,点击时触发clearDBD()函数:
在 jsp 最下方的 js 代码区域,定义 clearDBD():
这时再访问编辑页面,点击按钮,就直接清空所有报表了。
不同用户使用自己的 DBD 目录
产品中默认的dbd都在WEB-INF/files/dbd/目录下,多用户系统使用时,混在一起互相干扰,就期望给每个登录用户设置一个自己的目录,在session里可以设置这个用户子目录:
在 zhangsan 子目录下只有张三.dbd
在界面上打开服务器 dbd 时,就只能看到 zhangsan 目录下的 dbd 了。
DBD 源代码
根据可能的集成需求,上面做了一些二次开发,更复杂的个性化改造,就需要对源代码有更深入的了解,下面了解主要代码的位置:
DBD的几个界面jsp在raqsoft/guide/dbd2.0/jsp/目录下;
DBD界面功能是用Javascript实现,主要文件都在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;或基于润乾DBD,稍作修改,也能开发出适应自己的DBD。
报表中心
报表中心是润乾集资源、用户、权限等管理功能于一身的完整 BI 管理系统,仍然开源免费。
报表中心结构
报表中心包含了丰富的管理、权限和资源发布等功能。
报表中心可以设置机构和用户,其中一个用户只属于一个机构,一个机构可包含多个管理员用户或普通用户。超级管理员和管理员用户都可以对机构进行管理。
使用润乾报表设计器、多维分析、DBD 等设计的固定报表、多维分析 olap、DBD 文件等都可以在报表中心上传发布进行管理。
报表中心同时还支持任务调度、微信与移动端等。
整体包含了完整的权限控制体系,用户可以采用独立部署或集成的方式使用。
报表中心集成
在集成自助分析的基础上,将报表中心核心内容放置到应用中:
(1)页面:[安装根目录]\report\web\webapps\demo\raqsoft\center 目录。
(2)配置文件:
[安装根目录]\report\web\webapps\demo\WEB-INF\reportCenter.xml
[安装根目录]\report\web\webapps\demo\WEB-INF\web.xml
(3)核心 jar:
[安装根目录]\report\web\webapps\demo\WEB-INF\lib\center-2.10.jar
(4) 合并 web.xml
通过如上几步就能将报表中心集成到现有应用中。