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

简介: 原文:SSAS系列——【07】多维数据(查询Cube)1、什么是MDX? MDX叫做“多维表达式”,是一种查询语言,是一种和SQL类似的查询语言,它基于 XML for Analysis (XMLA) 规范,并带有特定于 SQL Server Analysis Services 的扩展。
原文: 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年中国的石油存储量(数据虚拟)?

SSAS

图 查询截图

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

MDX

图 MDX查询结果

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

目录
相关文章
|
5月前
|
数据库
关于 SAP BMBC 批次查询结果 BADI - BIC_ADDITIONAL_DATA 的案例
关于 SAP BMBC 批次查询结果 BADI - BIC_ADDITIONAL_DATA 的案例
53 0
|
9月前
ENVI_IDL:批量对Modis Swath产品进行均值运算+解析
ENVI_IDL:批量对Modis Swath产品进行均值运算+解析
123 0
ENVI_IDL:批量对Modis Swath产品进行均值运算+解析
|
10月前
|
数据挖掘 数据处理
tidyverse|数据分析常规操作-分组汇总(sumamrise+group_by)
tidyverse|数据分析常规操作-分组汇总(sumamrise+group_by)
|
区块链 开发者
SSAS-2-简单维度|学习笔记
快速学习 SSAS-2-简单维度
80 0
SSAS-2-简单维度|学习笔记
|
数据可视化
hands-on-data-analysis 第二单元 第四节数据可视化
hands-on-data-analysis 第二单元 第四节数据可视化
110 0
hands-on-data-analysis 第二单元 第四节数据可视化
|
BI API OLTP
SAP CRM Interactive Report(交互式报表)里和服务订单相关的一些字段
SAP CRM Interactive Report(交互式报表)里和服务订单相关的一些字段
121 0
SAP CRM Interactive Report(交互式报表)里和服务订单相关的一些字段
|
SQL
化繁为简——分解复杂的SQL语句
今天同事咨询一个SQL语句,如下所示,SQL语句本身并不复杂,但是执行效率非常糟糕,糟糕到一塌糊涂(执行计划也是相当复杂)。如果查询条件中没有NOT EXISTS部分,倒是不要一秒就能查询出来。 SELECT * FROM dbo.
1157 0
|
SQL 移动开发 测试技术
SQL Challenge ——快速找到1-100之间缺失的数
有个经典的题目:1-100之间的数字(不重复)存放在表里,共95行一列,但是里面缺了5个数字,怎么用SQL最快找出那五个数字。   我们先来看看Oracle数据库如何实现,如下所示,我们先准备测试环境和数据。
1371 0
|
SQL 数据库 关系型数据库
SQL挑战——如何高效生成编码
原文:SQL挑战——如何高效生成编码 有这样一个需求:需要根据输入的编码(这个编码值来自于数据库的一个表)生成下一个编码,编码规则如下所示(我们暂且不关心这个逻辑是否合理,只关心如何实现):    1: 最小值为A0000, 最大值为ZZZZZ   2:编码A0000的下一个值为A0001, 编码A9999的下一个值为B0000, 编码AB999的下一个值为AC000,编码AC999的下一个值为AD000,依此规则内推。
879 0
|
SQL 算法 数据库
小心SQL SERVER 2014新特性——基数评估引起一些性能问题
原文:小心SQL SERVER 2014新特性——基数评估引起一些性能问题     在前阵子写的一篇博文“SQL SERVER 2014 下IF EXITS 居然引起执行计划变更的案例分享”里介绍了数据库从SQL SERVER 2005升级到 SQL SERVER 2014后,发现一个SQL出现性能问题,当时分析后发现执行计划变了,导致SQL出现了性能问题。
1115 0