BI 前端实践 2: SQL 数据源做多维分析

本文介绍了如何使用SQL数据源进行多维分析的BI实践,包括设置测试数据、预定义SQL查询、展示结果、汇总分析、动态选择SQL、动态生成SQL以及在SQL中使用别名和JOIN来优化分析字段。通过具体的步骤和示例,展示了如何在报表中实现对SQL查询结果的深度分析。

实践目标

给定SQL,对其查询结果进行多维分析。

测试数据及配置

employees是一套开源的Mysql测试数据,下载后把它导入本地的Mysql数据库中,看到有8个互相关联的表:

在润乾报表的配置文件WEB-INF/raqsoftConfig.xml中增加employees库的JDBC数据源,多维分析的jsp里能直接使用这里配置好的数据源名称emps,它主要配置url、driver、user、password四个属性:

预定义待分析的SQL

在study3.jsp中,在JS变量sqlDatasets里基于emps数据源定义三个SQL,分别从departments、dept_manager、dept_emp表获得数据,然后用JS变量guideConf.sqlId=”dept_mng”指定对第二个SQL进行多维分析:

展示SQL结果集

直接访问jsp,默认会显示查询结果的明细报表:

基于SQL结果集汇总分析

添加一个“部门经理任数”的新报表,汇总出每个部门一共有过几任经理:

用URL参数动态选SQL做多维分析

可以进一步的通过url参数传入sqlId,动态的决定对哪个SQL进行多维分析:

动态生成SQL做多维分析

通过url参数、当前登录用户这些综合信息,动态的拼出符合自己业务需求的带权限SQL,设置到JS的sqlDatasets里,这个JSP就能动态的做多维分析了:

SQL中用别名把多维分析字段汉化

上面例子中的字段是英文名,看起来不直观。SQL中经常用as 别名汉化英文字段名,多维分析界面中也会继承这些汉化的字段名:

SQL中用JOIN获得代码列的名称

上面例子中的员工(经理)编号和部门编号分别代表了实际的人员和部门,但实际做多维分析的时候更多希望看到经理姓名和部门名称,这时需要用SQL中的JOIN把多个表关联起来,获得代码列相应的名称:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值