摘录于MSDN MDX 的一些重要概念

1. MDX 介绍

  • 多维表达式 (MDX) 是用于在 Microsoft SQL Server Analysis Services (SSAS) 中处理和检索多维数据的查询语言.
  • MDX 基于 XML for Analysis (XMLA) 规范, 并带有特定于 SQL Server 2005 Analysis Services 的扩展.
  • MDX 使用由标识符, 值, 语句, 函数和运算符组成的表达式, Analysis Services 可以通过计算表达式来检索某个对象(如集或成员)或标量值(如字符串或数字)

2. MDX 查询和表达式可以用来执行哪些操作?

  • 从 SQL Server Analysis Services 多维数据集向客户端应用程序返回数据
  • 设置查询结果的格式
  • 执行多维数据集设计任务, 包括定义计算成员, 命名集, 范围分配和关键性能指标 (KPI)
  • 执行管理任务, 包括维度和单元安全性
3. 数据库维度 Database Dimension - 数据库维度是与某个键属性相关的维度属性的集合, 而该键属性又与度量值维度中的事实数据相关.
 
4. 维度属性 (Dimension attribute) - 被绑定到维度表中的一个或多个列并包含成员, 维度属性可以包含客户名称, 月份名称和产品名称.
5. 成员 (Member) - 成员是维度属性(包括度量值维度)的值. 层次结构中的成员可以是叶成员, 父成员, 数据成员或(全部)成员.
6. 度量值 (Measure) - 来自事实数据表的值, 也称为“事实数据". 度量值维度的值有时也通称为"成员", 度量值通常是数值, 但也可以是字符串值.
7. Measures 维度 (Measures dimension) - 度量值维度是包含多维数据集中所有度量值的维度. 度量值维度是一种特殊的维度, 其中的成员通常是根据各个维度属性(存在指定的度量值)的当前成员(通常采用求和或计数方式)进行聚合.
8. 度量值组 (Measure Group) - 度量值组是 SQL Server Analysis Services 多维数据集中的相关度量值集合(通常是来自同一事实数据表的度量值). 在 SQL Server Analysis Services 中, 一个多维数据集可包含多个度量值组.
9. (全部) 成员 ((All) member) -“(全部)”成员是属性层次结构或用户定义的层次结构中的所有成员的计算值.
10.  计算成员 (Calculated member) - 计算成员是在查询时定义和计算的维度成员. 可以在用户查询或 MDX 计算脚本中定义计算成员, 并将其存储在服务器上, 一个计算成员对应于定义它们的维度中的多个维度表行.
11. 数据成员 (Data member) - 数据成员是在父子层次结构中与父成员相关联的子成员, 数据成员包含其父成员的数据值, 而不是该父成员的子级的聚合值.
12. 父成员 (Parent member) -父成员是父子层次结构中的成员, 包含其子级的聚合值.
13. 叶成员 (leaf member) - 叶成员是层次结构中不包含子级的成员.
14. 子成员 (Child member) - 子成员是层次结构中位于顶层下面的成员.
15. 键属性 (Key attribute) - 数据库维度的"键属性"是维度中的所有非键属性(以直接或间接方式)所链接到的属性. 键属性通常也是粒度属性.
16. 粒度属性 (Granularity attribute) - 多维数据集维度的属性, 它将维度链接到度量值维度内度量值组中的事实数据. 如果粒度属性和键属性为不同的属性, 则非键属性必须直接或间接地链接到粒度属性. 在多维数据集中, 粒度属性定义维度的粒度.
17. 多维数据集维度 (Cube dimension) - 多维数据集维度是多维数据集中的数据库维度实例.
18. 属性层次结构 (Attribute hierarchy) - 属性层次结构是包含以下级别的属性成员层次结构 :
  • 包含所有非重复属性成员的叶级别, 叶级别的各个成员也称为"叶成员".
  • 中间级别(如果属性层次结构为父子层次结构).
  • 可选的"(全部)"级别 (IsAggregatable=True), 它包含属性层次结构的叶成员的聚合值. (全部)”级别的成员也称为“(全部)”成员.

默认情况下, 将为每个维度属性定义属性层次结构 (AttributeHierarchyEnabled=True).属性层次结构默认为可见 (AttributeHierarchyVisible=True).

19. 均衡层次结构 (Balanced hierarchy) -“均衡层次结构”是顶级成员与任何叶成员之间存在相同级别数的层次结构.
20. 不齐整层次结构 (Ragged hierarchy) - 非均衡层次结构 (Unbalanced hierarchy) - 非均衡层次结构是顶级与叶级之间存在不同级别数的层次结构, 父子层次结构即是不齐整层次结构的一个例子, 非均衡层次结构也称为"不齐整层次结构".
21. 父子层次结构 (Parent-child hierarchy) - 是一种将维度属性设置为 parent 类型的特殊的属性层次结构, 父子层次结构是由子成员和父成员构成的非均衡层次结构, 父子层次结构包含以下级别:
  • 包含父成员子级的子级别, 父成员的子级包含聚合到父成员的属性成员(包括数据成员).
  • 包含父成员的中间级别
  • 可选的“(全部)”级别 (IsAggregatable=True), 它包含父子层次结构叶成员的聚合值,"(全部)" 级别的成员也称为"(全部)"成员.
  • 每个维度中只能存在一个父子层次结构, 并且必须与键属性相关.
22. 用户定义的层次结构 (User-defined hierarchy) - 是属性层次结构的均衡层次结构, 旨在帮助用户浏览多维数据集数据. 用户定义的层次结构不添加到多维数据集空间, 在某些情况下可以隐藏用户定义的层次结构中的级别并使其以非均衡的形式显示.
23. 属性关系 (Attribute relationship) - 是属性间的一对多关系, 例如州省市自治区和城市维度属性间的关系.
24. 成员属性 (Member property) - 成员属性 是特性成员的属性, 例如客户的性别或产品的颜色.
25. 单元 (Cell) - 是度量值维度成员的成员与多维数据集中各个属性层次结构的成员相交处所在的空间.
  • 度量值维度的成员可以是叶成员(单个事实数据)或聚合成员(例如,特定年份聚合的销售额).
  • 维度的成员可以是叶成员、数据成员、父成员或“(全部)”成员.
26. 多维数据集空间 (Cube space) - 是多维数据集属性层次结构的成员与多维数据集的度量值的交集.
27.  子多维数据集 (Subcube) - 是表示多维数据集的筛选视图的多维数据集子集, 可以使用 MDX 计算脚本中的 Scope 语句或 MDX 查询中的嵌套 select 语句定义子多维数据集.
28. 带有嵌套 select 语句的子多维数据集 (Subcube with Subselect) - 用 MDX 查询中的嵌套 select 语句定义的子多维数据集包含符合子多维数据集定义的所有成员, 其结果如下:
  • 包含层次结构的“(全部)”成员与包含层次结构的每个叶成员的结果是相同的
  • 包含任何成员将包括其祖先和后代
  • 包含用户定义的层次结构中某级别的每个成员将包含该用户定义的层次结构中的所有成员,但可排除不与此级别成员共存的其他层次结构的成员(例如不包含客户的城市).
  • 多维数据集中的每个“(全部)”成员始终存在于从该多维数据集创建的子多维数据集中.
  • 子多维数据集中的聚合值将进行直接求和.

文章出处:MSDN-MDX#001 - 多维表达式 (MDX) 参考

【转载】MSDN-MDX#001 - 多维表达式 (MDX) 参考的更多相关文章

  1. FocusBI:MDX检索多维模型

    微信公众号:FocusBI关注可了解更多的商业智能.数据仓库.数据库开发.爬虫知识及沪深股市数据推送.问题或建议,请关注公众号发送消息留言;如果你觉得FocusBI对你有帮助,欢迎转发朋友圈或在文章末 ...

  2. 【转载】网站服务器运维记实:阿里云1核2G突发性能t5服务器突然变得卡顿

    阿里云突发性能服务器1核2G的t5服务器在高资源利用率的情况下运行一段时间后,发现服务器反应变得很慢,通过windows远程桌面连接上服务器后查看到CPU性能一直在90%到100%之间,无法降下来.前 ...

  3. 【转载】SSAS-MDX#001 - MDX 基本结构

    1. MDX 的基本结构 - MDX 的基本结构有三种: Members, Tuple 和 Set    2. Members - 指的是维度树上的一个节点, 这里有一点需要指出, 量度也是一个特殊的 ...

  4. 转载MSDN 在ASP.NET 中执行 URL 重写

    转载文章原网址 http://msdn.microsoft.com/zh-cn/library/ms972974.aspx 摘要:介绍如何使用 Microsoft ASP.NET 执行动态 URL 重 ...

  5. 【转载】java定义二维数组问题。分清数组与集合的区别

    出处: 度娘知道 答案由用户{ heitianba }提供. Q: int a[][] = new int[3][2];  a[0] = {1,6};  报错:第二句是非法表达式.为什么? A: in ...

  6. 转载 js函数声明和函数表达式

    在js中函数有两种表达方式.1 函数声明 2 函数表达式 函数声明 function sayname(){ alert("li lei"); } 函数表达式 var sayname ...

  7. 转载:深入浅出 Java 8 Lambda 表达式

    原文地址:http://viralpatel.net/blogs/Lambda-expressions-java-tutorial/ OneAPM for Java 能够深入到所有 Java 应用内部 ...

  8. 【转载】JDK8 特性 stream(),lambda表达式,

    Stream()表达式 虽然大部分情况下stream是容器调用Collection.stream()方法得到的,但stream和collections有以下不同: 无存储.stream不是一种数据结构 ...

  9. 【转载】屏幕坐标向3维坐标的转化-DXUT的CD3DArcBall类

    原文:http://blog.csdn.net/bluekitty/article/details/6070828 3D应用程序中,我们可以通过鼠标进行空间中物体的旋转和视角的变换等,而鼠标的移动是2 ...

随机推荐

  1. 全球数据库-->基金/管理产品-->分类/行业平均-->开放式分类

    SecID 招募书中所定净费率 换手率% 回报日期(每日) 计价货币 回报-本月以来(每日)计价货币 回报-本季以来(每日)计价货币 回报-本年以来(每日)计价货币 回报-1日(每日)计价货币 回报- ...

  2. UVa 1025 A Spy in the Metro (DP动态规划)

    题意:一个间谍要从第一个车站到第n个车站去会见另一个,在是期间有n个车站,有来回的车站,让你在时间T内时到达n,并且等车时间最短, 也就是尽量多坐车,最后输出最少等待时间. 析:这个挺复杂,首先时间是 ...

  3. Mysal表类型的区别-MyISAM,InnoDB

    1/ISAM ISAM是一个定义明确且历经时间考验的数据表格管理方法,它在设计之时就考虑到数据库被查询的次数要远大于更新的次数.因此,ISAM执行读取操作的速度很快,而且不占用大量的内存和存储资源.I ...

  4. JAVA反射机制o

    Reflection是Java 程序开发语言的特征之一,它允许运行中的 Java 程序对自身进行检查,或者说"自审",并能直接操作程序的内部属性.例如,使用它能获得 Java 类中 ...

  5. [CentOS]Centos设置网卡

    IP设定查看Command # ifconfig -a # netstat -nr 给eth0设定值 # vi /etc/sysconfig/network-scripts/ifcfg-eth0 DE ...

  6. XML--将XML中数据提取出转换成表2

    DECLARE @xml XMLSET @xml = '<Students>    <Student  id="1001" name = "xu&quo ...

  7. 原生态在Hadoop上运行Java程序

    第一种:原生态运行jar包1,利用eclipse编写Map-Reduce方法,一般引入Hadoop-core-1.1.2.jar.注意这里eclipse里没有安装hadoop的插件,只是引入其匝包,该 ...

  8. 比较git commit 两个版本之间次数

    #!/bin/bash f1="$1*" f2="$2*" echo "第一个版本:"$f1 echo "第二个版本:" ...

  9. win10 数字许可证激活被 KMS激活覆盖

    打开cmd(管理员身份),依次执行以下命令: slmgr/upk slmgr/ckms slmgr/rearm 重启设备后联网登录Microsoft账号,转设置-激活-疑难解答,windows会找到与 ...

  10. 在VC++中执行VBS代码

    此代码来自https://blog.csdn.net/zhu2695/article/details/13770671 作者: zhu2695   时间:2013年10月31日 13:08:41 #i ...