SSAS介绍

article/2025/9/20 2:01:32

文章提纲

  • 商业智能(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

http://chatgpt.dhexx.cn/article/shhWBi8N.shtml

相关文章

SSAS教程(一)——SSAS简介

SSAS全称SQL Server Analysis Services。Analysis Services 是在决策支持和商业分析中使用的分析数据引擎,它为商业报表和客户端应用程序提供了企业级语义数据模型,比如Power BI、 Excel、 Reporting Services 以及其他数据可视化工具。只要是支持Analys…

Java数组的初始化

Java数组初始化 1 一维数组初始化2 二维数组初始化 1 一维数组初始化 public class ArrayDemo1 {public static void main(String[] args) {// 格式一(动态初始化)int[] arr1 new int[3]; // 数组的长度(这里为3)必须指定// 格式二(静态初始化)int[] arr2 new int[]{1, 2, 3…

java类初始数组_java中数组初始化的三种方式是什么

java中数组初始化的三种方式是:1、静态初始化,如【int a[] {2, 0, 1, 9, 2020}】;2、动态初始化,如【int[] c new int[4]】;3、默认初始化,如【int[]dnew int[5]】。 初始化方式: 1、静态初始…

Java数组初始化、赋值与输出

文章目录 Java数组相关知识数组初始化一维数组二维数组 数组输出一维数组二维数组 Java数组相关知识 数组初始化 一维数组 初始化为0 int[] a; a new int[5]; int[] b new int[5]; 初始化为指定值 int[] a new int[]{0,1,2,3,4};//正确 int[] b {0,1,2,3,4};//正确&a…

java初始化array_java数组初始化方式

在使用一个新的数组之前,要先对其中的数值进行设置,也就是我们常说的初始化工作。因为数组有长度和内容的区分,所以常见的两种初始化方法是动态和静态,另外一种就是默认初始化。下面我们对数组的初始化概念进行理解,区…

c++ lamuda表达式mutable

1.lambda表达式 C11引入了Lambda表达式。Lambda表达式的引入,方便了简短函数的定义,为常用的一次性函数的定义和使用提供了很大的便利。 Lambda表达式实际上是一种匿名函数定义,常用来定义简单和不重复使用的函数。其可使用的外部变量、定义方…

const和mutable关键字

const修饰变量表示改变量内容不可修改,在类中,const还可以修饰成员函数,修饰成员函数后就不可以更改成员变量了。 可以看出,this指针是const*const类型,既不可以修改其内容,也不能修改其指向。 想一下&…

C++的mutable

一、介绍 mutable的中文意思是“可变的,易变的”,正好与const相反。在C中,mutable也是为了突破const的限制而设置的。被mutable修饰的变量,将永远处于可变的状态,即使在一个const函数中。 二、用法 如果类的成员函数…

Scala集合的mutable和immutable解释

Scala集合的mutable和immutable解释 概述集合API概述 概述 Scala 集合类系统地区分了可变的和不可变的集合。可变集合可以在适当的地方被更新或扩展。这意味着你可以修改,添加,移除一个集合的元素。而不可变集合类,相比之下,永远不…

C++之mutable

mutable大概两种用法 第一种,若想在GetName中对一个私有成员变量进行更改,那么只能将其设置为mutable. class test { private:std::string m_name;mutable int m_count; public:const std::string & GetName() const{m_count;return m_name;} };…

mutable

1.mutable 关键字 (C) 字典意思 adj. 易变的,不定的;性情不定的 语法意思 如果需要在const成员方法中修改一个成员变量的值,那么需要将这个成员变量修饰为mutable。即用mutable修饰的成员变量不受const成员方法的限制。 可以认为mutable的变…

安装prophet

1、创建一个新的环境 按照官网的做法,创建一个新的python环境 激活这个环境。 2、安装C的编译工具 因为网速的问题,有一个包安装失败了,再次执行命令,发现安装会继续执行上次没完成的: 3、安装依赖库 4、安装pystan …

Facebook时序预测工具Prophet实战分析

引言 去年Facebook开源了一套时序预测工具叫做Prophet。Prophet是一个预测时间序列数 据的模型。 它基于一个自加性模型,用来拟合年、周、季节以及假期等非线性趋势。 它在至少有一年历史数据的日常周期性数据,效果最好。 Prophet对缺失值,趋…

Prophet代码实战(一)趋势项调节

这里写目录标题 Prophet Quick StartProphet的缺点数据格式建模流程 Prophet详解趋势线性趋势逻辑斯蒂趋势无趋势 检测和设置趋势的分段点分段点的检测和可视化趋势的置信区间 Prophet Quick Start Prophet的缺点 时间t上的观测值的分布只能是高斯分布无法高效处理大量相关时…

fbprophet

1 Prophet 简介 Facebook 开源了一个时间序列预测的算法,叫做 fbprophet,它的官方网址与基本介绍来自于以下几个网站: Github:https://github.com/facebook/prophet官方网址:https://facebook.github.io/prophet/论文…

ML之prophet:prophet的简介、安装、使用方法之详细攻略

ML之prophet:prophet的简介、安装、使用方法之详细攻略 目录 prophet的简介 1、四大特点 prophet的安装 prophet的使用方法 1、基础案例 2、进阶案例 ML之prophet:利用prophet算法对维基百科页面的日志每日页面浏览量实现回归预测(时间序列的趋势…

Prophet学习(二) 时序预测开源工具包Prophet介绍

目录 一、Prophet 简介 二、Prophet 适用场景 三、Prophet 算法的输入输出 四、Prophet 算法原理 五、与机器学习算法的对比 六、代码 6.1 依赖安装 6.2 预测demo 七、参考资料 八、官方链接: 九、案例链接: 一、Prophet 简介 Prophet是Faceb…

【数据分析】利用机器学习算法进行预测分析(五):Prophet

时间序列预测中的机器学习方法(五):Prophet 本文是“时间序列预测中的机器学习方法”系列文章的第五篇,如果您有兴趣,可以先阅读前面的文章: 【数据分析】利用机器学习算法进行预测分析(一&…

关于导入Prophet库

在做项目时在参考别人的代码时,其from fbgrophet import Proghet给我造成了很大的困扰。我先是用conda装了能在里面找到的prophet,可以看到我在里面安装了prophet(p是小写的): 但这个并不能用import prophet来替代他的那句from fbgrophet im…

Prophet学习(一) Python API实现

目录 Python API 详细介绍 完整代码: Python API 详细介绍 Prophet遵循sklearn模型API。我们创建Prophet类的实例,然后调用它的fit和predict方法。 Prophet的输入总是一个有两列的数据帧:ds和y。ds(日期戳)列应该是Pandas期望的格式,理想…