ssas连接mysql_BI之SSAS完整实战教程1 -- 开篇, BI简介 SSAS简介

article/2025/9/19 23:58:38

文章提纲

商业智能(BI, Business Intelligence)基本概念

SSAS(SQL Server Analysis Services)相关工具(开发、管理和客户端)

总结

一、商业智能(BI, Business Intelligence)基本概念

商业智能的概念在1996年最早由加特纳集团(Gartner Group)提出,加特纳集团将商业智能定义为:商业智能描述了一系列的概念和方法,通过应用基于事实的支持系统来辅助商业决策的制定。商业智能技术提供使企业迅速分析数据的技术和方法,包括收集、管理和分析数据,将这些数据转化为有用的信息,然后分发到企业各处。

-- 以上摘自百度百科

简而言之,商业智能是一个将数据转换为信息,进而发现信息中隐藏的知识,并将其应用于商业的过程。

以微软BI解决方案为例。

典型架构举例(以下大部分图片都来自于百度图片):

1fee3ed1c2bfa01d68d7a0234147027a.png

我们可以将BI整体系统架构归纳为四个部分:

数据源(关系数据库)à数据仓库àOLAPà前端展现工具

与之对应的,BI解决方案的相关产品模块

3b30c803bab90ab732b21acd43208b14.png

我们对照产品看架构比较直观。

可以看到,BI解决方案比传统的报表方案更加强大的就是增加了OLAP组件。

-------------------------------------------------------------------------------

补充背景知识:

当今的数据处理大致可以分成两大类: 联机事务处理OLTP(on-line transaction processing)、联机分析处理OLAP(On-Line Analytical Processing)。OLTP是传统的关系型数据库的主要应用,主要是基本的、日常的事务处理,例如银行交易。OLAP是数据仓库系统的主要应用,支持复杂的分析操作,侧重决策支持,并且提供直观易懂的查询结果。下表列出了OLTP与OLAP之间的比较。

数据处理类型

OLTP

OLAP

面向对象

业务开发人员

分析决策人员

功能实现

日常事务处理

面向分析决策

数据模型

关系模型

多维模型

数据量

相对较少

相对较大

操作类型

查询、插入、更新、删除

查询为主

-------------------------------------------------------------------------------

因为有了OLAP(数据库中以多维数据集的形式存储),使得钻取,切片,旋转等变得非常容易,如下图。

6f4c08a062bfc059419e94588ab91822.png

要想应用OLAP,必须先构造一个多维数据集(Cube),下面要介绍的SSAS数据库的实例就是指的Cube.

说明:Cube(立方体)只是多维模型的一个形象的说法。立方体其本身只有三维,但多维模型不仅限于三维模型,可以组合更多的维度,但一方面是出于更方便地解释和描述,同时也是给思维成像和想象的空间;另一方面是为了与传统关系型数据库的二维表区别开来,于是就有了数据立方体的叫法。

下面我们就来介绍SSAS数据库开发要用到的工具,为后续实战做好准备。

二、SSAS(SQL Server Analysis Services)相关工具(开发、管理和客户端)介绍

Analysis Services针对开发和管理提供了不同的环境。

开发环境称为SSDT, 并且与Microsoft Visual Studio集成。

管理环境称为SSMS,它是一个完整的集成管理环境,适用于多种服务(和我们平时管理SQL Server关系数据库是同一个),如下图。

6971d89a0734bd665e667b0e6ba68129.png

从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,如下图。

e1ca932eda7d9c0057620d1480a50417.png

在Visual Studio中工作可以提供很多益处,例如可以在同一Visual Studio解决方案中支持多个项目。一个Visual Studio解决方案是由一系列项目组成的集合,其中可能包括Analysis Services项目、C#项目、Integration Services项目或者Reporting Services项目。

使用SSDT创建项目,选择如下图方框处类别就是一个多维数据集项目。

5c264106df7a76ce15c23025efc9785e.png

通常情况下,需要在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数据库的实例) -- 关系数据库实例

欢迎大家多多评论,祝学习进步:)

相关文章列表:


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

相关文章

ssas连接mysql_再谈通过http访问SSAS

问题: 在有些场景下,数据中心会分为不同的服务器场:数据库场和应用程序场。服务器场间有严格的防火墙控制,其中数据库场只能建立从应用程序场的防火墙穿越,也就是说不允许任何客户端直接连接到防火墙。 这种策略对于数…

ssas计算度量_如何在Analysis Services(SSAS)中创建中间度量

ssas计算度量 The whole premise of Analysis Services (SSAS) is to place business logic into a central repository (a database). This central repository should be easy to understand from the average reporting user. Simplicity for SSAS databases starts with th…

ssas表格模型 权限控制_性能调整SSAS表格模型

ssas表格模型 权限控制 Modeling for the xVelocity/Vertipaq engine is a completely different beast than modeling for your trusty multi-dimensional SSAS cubes. In-memory blazingly fast; At least that’s what you would think. As Tabular models gain popularity…

ssas从mysql获取数据库_SSAS-实用的DMV查询

以下查询,比较实用。 --All Cubes in database SELECT [CATALOG_NAME] AS [DATABASE],CUBE_CAPTION AS [CUBE/PERSPECTIVE],BASE_CUBE_NAME FROM $system.MDSchema_Cubes WHERE CUBE_SOURCE1 --All dimensions in Cube SELECT [CATALOG_NAME] as [DATABASE], CUBE_N…

ssas表格模型 权限控制_创建第一个SSAS表格模型数据库

ssas表格模型 权限控制 Considering BI environment, when comparing Multidimensional Vs Tabular model databases, both of them have their own advantages and purpose in data analytics and business intelligence. 考虑到BI环境,在比较多维VS表格模型数据库…

ssas 分层维度_通过SSAS维度层次结构增强数据分析

ssas 分层维度 介绍 (Introduction) This article will discuss how SSAS Dimension Hierarchies can be used to analyze data much efficiently. If you are a data analyst, you want to start the analysis with a higher hierarchy. Then navigate the narrow attributes …

ssas连接mysql_Web服务器(Websphere、Tomcat)使用olap4j连接多维数据库(Ssas)

最近项目需要使用Java连接到Sql Server多维数据库(Ssas)。在网上找到了一种通过可以通过IIS发布dll来作为jdbc连接串的方法,通过开源的olap4j的jar包,成功实现了类jdbc的方式连接到ssas。但实际应用中往往是通过web服务器的jdbc连接池的方式获得连接。 费…

ssas连接mysql_BI-SSAS简介篇

一、是什么? SSAS是用于SQLServer数据库用于BI的组件,通过SSAS可以创建多维数据库,并在之上进行数据挖掘操作。本文我们主要介绍一些关于SSAS数据分析的知识。接下来就让我们来一起了解一下吧。 商业智能提供的解决方案能够从多种数据源获取数…

ssas连接oracle性能,Analysis Services(SSAS) 性能优化

1、聚合选项中添加聚合,以空间换时间提升性能。 如下图: 性能提升百分比越高,聚合数越高,生成的Cube越大,这就是以空间换时间。 2、修改SSAS服务器上的线程池配置选项、提升并发数。 通过X:\Program Files\Microsoft S…

大数据时代:SSAS从入门到放弃

大数据时代到来,如何从数据中提取、挖掘对业务发展有价值的信息,为业务决策提供有力依据,推动精益化化的企业管理。商业分析师通常会使用各种数据分析工具,例如Excel、Tableau和PowerBI等对数据进行分析。OLAP就经常被用于对接这类…

ssas连接mysql_SSAS系列基础知识

1、什么是Cube? 简单 Cube 对象由基本信息、维度和度量值组组成。 基本信息包括多维数据集的名称、多维数据集的默认度量值、数据源和存储模式等。维度是多维数据集中使用的实际维度组。所有维度都必须先在数据库的维度集合中定义,然后才能在多维数据集中引用。度量…

SSAS多维数据分析创建

一、Visual Studio简介 Microsoft在 SQL Server Analysis Services (SSAS) 中,可以方便地创建复杂的联机分析处理(OLAP) 和数据挖掘解决方案。Analysis Services 工具提供了设计、创建和管理来自数据仓库的多维数据集和数据挖掘模型的功能,还提供对 OLAP…

SSAS介绍

文章提纲 商业智能(BI, Business Intelligence)基本概念 SSAS(SQL Server Analysis Services)相关工具(开发、管理和客户端) 总结 一、商业智能(BI, Business Intelli…

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类型,既不可以修改其内容,也不能修改其指向。 想一下&…