关注微信公众号:FocusBI 查看更多文章;加QQ群:808774277 获取学习资料和一起探讨问题。
SSAS是微软BI组件系列中最核心的组件,商业智能的心脏所有的数据都从这里统一输出,它能把数据库表压缩成多维数据集压缩比例大约是10:1,也就是你说100G的数据库能压缩成10G的多维数据库,它最大的特点是从预先设置好的角度任意拖拉维度属性展现数据,这是微软BI的联机分析处理服务(OLAP),面向的是分析主题。它最大的缺点是无法查询大量的明细数据,这也是在商业智能项目实施中甲方没有理解商业智能的作用是什么,有时要求需要在决策支持系统中查看明细的问题数据,提出这个要求我第一想法是MMP,还不如上个报表系统从数据库中用存储过程查出来给他;客户是上帝只好帮客户在决策支持系统中实现查看明细数据的要求,最后决策支持系统失去了该有的作用,由于查看明细数据有的表数据上亿条这样导致决策支持系统查询速度非常慢也有可能会卡死在那里。
打开SQL Server Data Tools 2015 选择新建项目下面商业智能,在右侧就会看到 Analysis Services 多维和数据挖掘项目,创建解决方案。
SSAS体系结构(一):
从SSAS解决方案中可以看到数据源、数据源视图、多维数据集、维度、挖掘结构、角色、程序集7个大模块。
数据源是连接管理器它负责连接数据库。数据源视图是从连接好的数据中获取表,这里需要从数据仓库中选择你要分析的维度和事实表同时搭建好关系。多维数据集是建立在数据源视图关系和维度上的,它是SSAS的核心多维模型是由它去组成,通常有星型和雪花两种模型,它还能自由的创建量值。维度是分析的方向角度。挖掘结构是微软提供的数据挖掘工具是黑箱操作方法,可调节的参数比较少因为它已经被封装好了。角色是用于授权。程序集是用于辅助开发一些应用程序.dll帮助SSAS实现功能,如角色授权。
SSAS体系结构(二):
除了上面讲的七个大模块能在工具上看的到之外还有MDX引擎、元数据管理器、存储引擎。
元数据管理器
元数据管理器处理针对多维数据库对象进行操作的DDL语句。例如Create、Alter、Delete和Process等DDL语句是从基础结构组件传递到元数据管理器的。
MDX引擎
MDX引擎是MDX查询处理器也称为公式引擎,用于确定每个MDX查询的执行策略。可以将公式引擎认为是对MDX查询和计算最为重要的组件,因为查询求值和计算都是由该组件来完成。它可以将每个查询转换为发送到存储引擎的一系列数据访问请求,并根据在多维数据库中定义的任何计算来计算查询的结果。它还可以实现缓存从而获得最优的查询性能。MDX引擎相当于SQL Server中的查询优化器。
存储引擎
存储引擎是OLAP数据库的核心组件之一,用于使用关系数据库中的数据填充多维数据库,并以最优的方式将其存储在磁盘上。它还会为维度和多维数据集数据优化存储,并构建相关索引以加快从磁盘检索数据的速度,从而提高检索效率。通常情况下,关系数据与OLAP数据之间的压缩比例大约为10:1。存储引擎组件提供了公式引擎的内部接口,以便可以检索子多维数据集的数据,然后公式引擎可以使用这些数据对数据进行高效的检索和聚合,以满足MDX查询请求。
SSAS开发流程
1.连接数据源:创建数据仓库连接管理器给SSAS获取数据
2.关系视图:导入维度与事实表并创建关系
3.创建维度:根据业务创建维度及维度属性
4.创建多维数据集:创建量值组并加入维度构建多维
5.部署多维数据集:部署多维数据集
6.MDX查询:通过MDX查询多维数据集
历史文章:
FocusBI: 使用Python爬虫为BI准备数据源(原创)