多维分析的本质计算是什么?能做什么又不能做什么?


多维分析主要面向业务用户提供数据查询分析服务 , 由于业务人员不懂 SQL , 也无法完成多表关联(有意义的查询经常是基于多表的) , 所以在多维分析建模阶段需要将多表转换成单表 , 也就是 CUBE 。 这样用户就可以很方便地通过基于一个结果集(CUBE)进行拖拽查询 , 从不同的角度(维度)观察数据(测度) 。
在多维分析中主要的计算就是按照某一个或一些维度汇总测度 , 如按地区汇总销售额 , 按年和产品汇总销量等 。 从运算角度来看 , 多维分析的本质计算就是:
基于一个表的分组汇总
如果用 SQL 来表达 , 多维分析的本质就是:
SELECT D,…, SUM(M), … FROM C WHERE D’=d’ AND … GROUP BY D,…
即对数据立方体按某些维度分组汇总某些测度 。 其中 C 是数据立方体 , D,…是选出维度 , M,…是聚合测度 , 聚合函数也可以不是 SUM 。 D’是切片维度 , 切块时条件为 D IN (d,…) , WHERE 中还可以增加针对某些测度的条件 , 一般也就是选出某个区间内的值 。
针对一个结果集(CUBE) , 多维分析可以进行切片 / 切块、旋转、钻取 / 上卷等操作 。
1. 切片切片是指针对 CUBE , 选择维中固定值进行分析 , 比如固定时间维度分析地区和产品的销量情况 。
多维分析的本质计算是什么?能做什么又不能做什么?
本文插图
2. 旋转旋转也称行列变换 , 是指维度从行到列或者从列到行 , 旋转是为了满足用户观察数据的不同习惯 。
多维分析的本质计算是什么?能做什么又不能做什么?
本文插图
3. 钻取钻取是从粗粒度到细粒度观察数据的过程 , 比如我们发现某个汇总值出现异常 , 就可以通过钻取查看明细数据 , 找到异常原因 。 钻取可以从汇总到明细 , 从上级到下级…
多维分析的本质计算是什么?能做什么又不能做什么?
本文插图
从多维分析的本质及其操作来看 , 多维分析只能完成简单的分组汇总、过滤计算 , 这在实际业务中还远远不够 。 常见的固定报表业务 , 一些报表很难通过简单的分组聚合来实现 , 经常要编写上千行的 SQL 或存储过程 , 而且固定报表的表格样式可能很复杂 , 这些都是多维分析无法实现的 。
这种报表数据处理逻辑复杂 , 每个格子可能对应不同的数据来源 , 计算逻辑也不一样 , 在样式方面则会出现表头混乱 , 大格套小格 , 动态区域和静态区域混合的情况 。
多维分析的本质计算是什么?能做什么又不能做什么?
本文插图
这里列举了复杂报表的特点: 传说中的中国复杂报表都长什么样?有什么特点? 这些类型的报表都无法通过多维分析拖拽出来 。
事实上 , 固定报表和自助报表(多维分析)面向的需求场景很不一样 , 而在 BI 系统中往往会包含三部分内容 , 固定报表、多维分析和可视化 , 其中可视化可以由前两部分实现 , 但固定报表和多维分析往往是不可或缺的 , 二者相互配合 , 优势互补 。 认清了多维分析的能量圈 , 才能在 BI 系统建设中有的放矢 , 避免踩坑 。
对多维分析和 BI 技术感兴趣的同学还可以搜索“乾学院” , 上面有整套的免费“商业智能”技术课程, 或者直接访问下面链接:http://www.raqsoft.com.cn/wx/course-Business-Intelligence.html
多维分析的本质计算是什么?能做什么又不能做什么?
本文插图
【多维分析的本质计算是什么?能做什么又不能做什么?】


    推荐阅读