BI之SSAS完整实战教程1 -- 开篇, BI简介 & SSAS简介
文章提纲
- 商业智能(BI, Business Intelligence)基本概念
- SSAS(SQL Server Analysis Services)相关工具(开发、管理和客户端)
- 总结
一、商业智能(BI, Business Intelligence)基本概念
商业智能的概念在1996年最早由加特纳集团(Gartner Group)提出,加特纳集团将商业智能定义为:商业智能描述了一系列的概念和方法,通过应用基于事实的支持系统来辅助商业决策的制定。商业智能技术提供使企业迅速分析数据的技术和方法,包括收集、管理和分析数据,将这些数据转化为有用的信息,然后分发到企业各处。
-- 以上摘自百度百科
简而言之,商业智能是一个将数据转换为信息,进而发现信息中隐藏的知识,并将其应用于商业的过程。
以微软BI解决方案为例。
典型架构举例(以下大部分图片都来自于百度图片):

我们可以将BI整体系统架构归纳为四个部分:
数据源(关系数据库)à 数据仓库 à OLAP à 前端展现工具
与之对应的,BI解决方案的相关产品模块

我们对照产品看架构比较直观。
可以看到,BI解决方案比传统的报表方案更加强大的就是增加了OLAP组件。
-------------------------------------------------------------------------------
补充背景知识:
当今的数据处理大致可以分成两大类: 联机事务处理OLTP(on-line transaction processing)、联机分析处理OLAP(On-Line Analytical Processing)。OLTP是传统的关系型数据库的主要应用,主要是基本的、日常的事务处理,例如银行交易。OLAP是数据仓库系统的主要应用,支持复杂的分析操作,侧重决策支持,并且提供直观易懂的查询结果。下表列出了OLTP与OLAP之间的比较。
|
数据处理类型 |
OLTP |
OLAP |
|
面向对象 |
业务开发人员 |
分析决策人员 |
|
功能实现 |
日常事务处理 |
面向分析决策 |
|
数据模型 |
关系模型 |
多维模型 |
|
数据量 |
相对较少 |
相对较大 |
|
操作类型 |
查询、插入、更新、删除 |
查询为主 |
-------------------------------------------------------------------------------
因为有了OLAP(数据库中以多维数据集的形式存储),使得钻取,切片,旋转等变得非常容易,如下图。

要想应用OLAP,必须先构造一个多维数据集(Cube),下面要介绍的SSAS数据库的实例就是指的Cube.
说明:Cube(立方体)只是多维模型的一个形象的说法。立方体其本身只有三维,但多维模型不仅限于三维模型,可以组合更多的维度,但一方面是出于更方便地解释和描述,同时也是给思维成像和想象的空间;另一方面是为了与传统关系型数据库的二维表区别开来,于是就有了数据立方体的叫法。
下面我们就来介绍SSAS数据库开发要用到的工具,为后续实战做好准备。
二、SSAS(SQL Server Analysis Services)相关工具(开发、管理和客户端)介绍
Analysis Services针对开发和管理提供了不同的环境。
开发环境称为SSDT, 并且与Microsoft Visual Studio集成。
管理环境称为SSMS,它是一个完整的集成管理环境,适用于多种服务(和我们平时管理SQL Server关系数据库是同一个),如下图。

从Analysis Services中分析和检索数据的功能已经集成到SSDT和SSMS中。可以从这两种环境浏览源数据。
在SSMS中,提供了一种查询生成器,用于编写查询以便从Analysis Services检索数据。查询生成器为MDX语言提供智能感知(IntelliSense)支持,包括自动完成及语法颜色设置。
另一种有用的Analysis Services工具是SQL Server事件探查器。可以使用事件探查器捕获的Analysis Services事件探查器信息来分析和改善性能。
我们后续课程就会用到这几种工具(最主要是SSDT),大家先做个了解就可以了,具体步骤时会详细讲解。
先简单介绍下SSDT(SQL Server Data Tools)
SSDT是用于设计Analysis Services数据库的开发环境,我们使用SSDT构建Analysis Services多维应用程序。启动位置:
All Programs à Microsoft SQL Server 2012 à SQL Server Data Tools
说明:完整安装SQL SERVER2012就会有SSDT(安装时步骤里面能找到Analysis Services), 具体安装就不再讲解了,如有问题请查阅其他资料。
打开后可以看到是一个Visual Studio 2010 Shell,如下图。

在Visual Studio中工作可以提供很多益处,例如可以在同一Visual Studio解决方案中支持多个项目。一个Visual Studio解决方案是由一系列项目组成的集合,其中可能包括Analysis Services项目、C#项目、Integration Services项目或者Reporting Services项目。
使用SSDT创建项目,选择如下图方框处类别就是一个多维数据集项目。

通常情况下,需要在SSDT中设计数据库,进行相应的更改,最后将数据库定义发送到你的Analysis Services 实例。
对于SSDT中的每个Analysis Services项目来说,在将项目中所有对象的定义(元数据)都发送到服务器以后,它们将成为Analysis Services实例上的一个数据库。
也可以使用SSDT直接连接到某个现有的Analysis Services数据库并进行相应的更改。
注意:如果按照这种方式使用SSDT, 则你所做的更改是针对实时Analysis Services数据库进行的,请格外谨慎。
下篇文章起,我们将会使用SSDT从创建一个简单的项目起,通过这个项目学习各种知识点,不断完善这个项目,使之贯穿整个系列文章。
三、总结
本篇文章是系列文章的开篇,主要做了一些前提准备,介绍了必须知道的相关概念,大家重点理解下Cube的概念。
另外,为方便理解,SSAS相关概念大家可以这样类比到普通关系数据库:
Analysis Services -- Database Engine
MDX -- SQL
Cube(AS数据库的实例) -- 关系数据库实例
欢迎大家多多评论,祝学习进步:)
相关文章列表:
- BI之SSAS完整实战教程4 -- 部署至SSAS进行简单分析 @20160908
- BI之SSAS完整实战教程3 -- 创建第一个多维数据集 @20160907
- BI之SSAS完整实战教程2 -- 开发环境介绍及多维数据集数据源准备 @20160823
- BI之SSAS完整实战教程1 -- 开篇, BI简介 & SSAS简介 @20160816
BI之SSAS完整实战教程1 -- 开篇, BI简介 & SSAS简介的更多相关文章
- BI之SSAS完整实战教程7 -- 设计维度、细化维度中 :浏览维度,细化维度
上篇文章我们已经将Dim Geography维度设计好. 若要查看维度的成员, AS需要接收该维度的详细信息(包括已创建的特性.成员属性以及多级层次结构), 通过XMLA与AS的实例进行通信. 今天我 ...
- BI之SSAS完整实战教程6 -- 设计维度、细化维度上:创建维度定义特性关系
前面我们使用过数据源向导.数据源视图向导.Cube向导来创建相应的对象. 本篇我们将学习使用维度向导来创建维度. 通过前面几个向导的学习,我们归纳一下共同点,主要分成两步 1. 使用某种对象类型的向导 ...
- BI之SSAS完整实战教程5 -- 详解多维数据集结构
之前简单介绍过多维数据集(Cube)的结构. 原来计划将Cube结构这部分内容打散,在实验中穿插讲解, 考虑到结构之间不同的部分都有联系,如果打散了将反而不好理解,还是直接一次性全部讲完. 本篇我们将 ...
- BI之SSAS完整实战教程4 -- 部署至SSAS进行简单分析
上一篇已经创建了多维数据集的结构. 接下来我们将多维数据集的架构定义发送到Analysis Services实例,部署到AS上去. 文章提纲 部署和浏览多维数据集 SSMS使用简介 总结 一.部署和浏 ...
- BI之SSAS完整实战教程2 -- 开发环境介绍及多维数据集数据源准备
上一篇我们已经完成所有的准备工作,现在我们就开始动手,通过接下来的三篇文章创建第一个多维数据集. 传统的维度和多维数据集设计方法主要是基于现有的单源数据集. 在现实世界中,当开发商业智能应用程序时,很 ...
- BI之SSAS完整实战教程3 -- 创建第一个多维数据集
上一篇我们已经完成了数据源的准备工作,现在我们就开始动手,创建第一个多维数据集(Cube). 文章提纲 使用多维数据集向导创建多维数据集 总结Cube设计器简介 维度细化 总结 一.使用向导创建多维数 ...
- 《Genesis-3D开源游戏引擎完整实例教程-2D射击游戏篇:简介及目录》(附上完整工程文件)
G-3D引擎2D射击类游戏制作教程 游戏类型: 打飞机游戏属于射击类游戏中的一种,可以划分为卷轴射击类游戏. 视觉表现类型为:2D 框架简介: Genesis-3D引擎不仅为开发者提供一个3D游戏制作 ...
- ActiveReports 9实战教程(3): 图文并茂的报表形式
基于上面2节内容,我们搭建了AR9的开发环境,配置好了数据源.在本节,我们以官方提供的3个中文图文并茂的报表来展示AR9的功能,并通过实战的方式一一分享. 以往做报表相关的工作时,最害怕的是报表的UI ...
- 《软件性能测试与LoadRunner实战教程》新书上市
作者前三本书<软件性能测试与LoadRunner实战>.<精通软件性能测试与LoadRunner实战>和<精通软件性能测试与LoadRunner最佳实战>面市后,受 ...
随机推荐
- 深入剖析 redis RDB 持久化策略
简介 redis 持久化 RDB.AOF redis 提供两种持久化方式:RDB 和 AOF.redis 允许两者结合,也允许两者同时关闭. RDB 可以定时备份内存中的数据集.服务器启动的时候,可以 ...
- 关于 Enum.TryParse 方法的一个小坑…
今天在测试导入数据的时候,突然发现本应该是枚举内容的数据,导入了进了一个很大的不在枚举定义内的数字. 记得当时用的是 Enum.TryParse 方法对导入的文本进行校验的,于是调试了一下,发现果然是 ...
- C#如何更好地理解引用类型和值类型
说道值类型和引用类型,在C#中,官方的说法就是: 值类型直接指向数据:一般包括C#自带的所有数字类型,字符类型,bool类型,当然还有自定义的结构类型和枚举类型 而引用类型则是指向数据存储的地址.一般 ...
- Workday为何迟迟不进入中国
全球知名HRM SaaS厂商Workday在世界各地攻城拔寨,俨然是HR SaaS的代名词,更是HRM市场的领导品牌.但是却单单在中国市场悄无声息,除了为数不多的海尔海外.联想海外等规模客户和部分ro ...
- Android开发之ProgressDialog在独立Thread线程中更新进度
简单的需求:在一个工作Thread中更新进度对话框ProgressDialog 遇到的问题: 1,创建需要Context,这个需要传进来 2,Thread中不能创建ProgressDialog,否则需 ...
- Windows batch,echo到文件不成功,只打印出ECHO is on.
jenkins 执行Windows batch command的时候,如果想要读写文件,echo到文件不成功. bat 代码如下: set ctime=%date%_%time% echo %ctim ...
- 2^x mod n = 1(欧拉定理,欧拉函数,快速幂乘)
2^x mod n = 1 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Tot ...
- Windows 服务开发框架介绍 - Topshelf
关于 TopShelf Topshelfis a framework for hosting services written using the .NET framework. The creati ...
- [作业向]tinyhttp web服务器设计及完整代码
最近看了<HTTP权威指南>和<UNP>有了写一个简单的web服务器的想法,正好这个学期没有什么课,所以就花了一个星期这样写了一个出来,鉴于本人水平有限,如果有什么设计或代码错 ...
- codeforces C. Design Tutorial: Make It Nondeterministic
题意:每一个人 都有frist name 和 last name! 从每一个人的名字中任意选择 first name 或者 last name 作为这个人的编号!通过对编号的排序,得到每一个人 最终顺 ...