首页 > 代码库 > SSAS系列——【07】多维数据(查询Cube)

SSAS系列——【07】多维数据(查询Cube)

原文:SSAS系列——【07】多维数据(查询Cube)

1、什么是MDX?

MDX叫做“多维表达式”,是一种查询语言,是一种和SQL类似的查询语言,它基于 XML for Analysis (XMLA) 规范,并带有特定于 SQL Server Analysis Services 的扩展。

2、MDX与SQL有什么区别?

学东西,总是喜欢“先入为主”,在学习MDX的时候我第一个想法是:MDX与SQL有什么区别?其实搞清楚这个问题后,MDX是什么也就算搞清楚了。SQL是基于OLTP的,而MDX是基于OLAP的,也就是说,MDX是对多维数据进行查询的。MDX和SQL一样,也有很多不同功能的API来支持MDX。其中包括对象链接和为在线分析处理的内嵌数据功能(也就是OLE DB for OLAP)、ADO MD、ADOMD.Net、XMLA(XML for Analysis)等。OLE DB for OLAP的规范描述了MDX查询和将被查询信息发送给客户端的数据结构之间的完整关系。

3、MDX能做什么?

从SSAS多维数据集向客户端应用程序返回数据;设置查询结果的格式;执行多维数据集设计任务,包括定义计算成员、命名集、范围分配和关键绩效指标 (KPI);执行管理任务,包括维度和单元安全性。

4、第一个多维查询?

查询1965年中国的石油存储量(数据虚拟)?

技术分享

图 查询截图

select {[Measures].[Oil Proved Reserves]} on columns 
,{
[Dim Time].[年份].&[19]} on rows from [BPDW]
where [Dim Geography].[国家名称].&[Total Asia Pacific]&[China]

技术分享

图 MDX查询结果

哈哈,到这一步一般都会小有成就感,其实就这么简单,捣鼓几下就出来了,下面的问题中,我得介绍一下MDX中比较重要的知识,把那些需要常用的东东要像自己的名字一样深深的置入脑海。

SSAS系列——【07】多维数据(查询Cube)