经验教程|给一句 SQL 就能做多维分析( 三 )


经验教程|给一句 SQL 就能做多维分析
文章图片

经验教程|给一句 SQL 就能做多维分析
文章图片

将 SQL 数据集作为数据来源设置后 , 就能针对这个数据集分析了 , 但分析过程不会像缓存入文件类型的数据集那样预先加载这个数据集的数据 , 而是通过在这个 SQL 上追加更多的查询条件、分组、聚合子句方式实时在数据库中查询的 , 如:
select f1 , sum(f2) from (${ 原始 sql}) t where … group by …. having ….
简单 SQL 提升性能
基于上面这种做法 , 对性能有高要求的同学估计会有情绪了 , 很多 DB 不会优化 , 这样做就会搞的很慢 , 体验并不好 。
哈哈 , 莫捉急 , 为了提高性能我们针对简单 SQL 还有更智能的自动改善性能的手段 , 所谓简单 SQL 就是单表无分组的 SQL 语句 。 SQL 会在被解析后再重组 SQL , 而不是用比较慢的子查询语句 。 不过当 SQL 中包含 JOIN、分组、子查询、UNION 等复杂查询功能时 , 由于无法进行拆解 , 因此程序还是会自动选用子查询方式进行处理 。
设置单表无分组的简单 SQL:
<script>
guideConf.sqlId="<%=sqlId%>";//指定sqlid
var sqlDatasets = [
{
sqlId:"sqlId1" //指定数据集名称 , 不可重复
,dataSource:"dqldemo" //指定SQL语句所使用的数据源
,sql:"SELECT * from 客户" //指定数据集SQL语句
,fields:null
},
… …
]
… …
</script>
访问分析页面 , 拖拽指标 , 如下图所示:
经验教程|给一句 SQL 就能做多维分析
文章图片

像上面例子这样最终拖拽后基于原始 SQL"select * from 客户" 生成的 SQL 语句为:SELECT 地区 地区, 城市 城市,count(客户 ID) 客户 ID 计数 FROM 客户 t GROUP BY 地区, 城市 。
好了 , 对 SQL 数据集多维分析的介绍就告于段落了 , 现在我们来回顾一下心路历程:
经验教程|给一句 SQL 就能做多维分析
文章图片

可以看到我们从可以缓存的少量数据 , 到利用数据库计算能力的大量数据都有很好的解决方案 , 同时还提供了相应的性能提升手段 。 不过 , 俺们 WEB 多维分析的超能力可不仅仅如此 , 比如还能随意修改报表分析的表格样式、通过建模来读取维度和指标信息等等 , 想要学习润乾报表多维分析更多知识 , 欢迎访问乾学院(http://c.raqsoft.com.cn) 。
对进一步报表和 BI 技术感兴趣的同学还可以搜索“乾学院” , 上面有整套的免费“商业智能”技术课程, 或者直接点下面的链接也可以:商业智能 · 乾学院VIP课程


推荐阅读