1.基本语法:

(1)基本语法:

select 在列上展示的成员集合 on 列,在行上面展示的成员集 on 行
from cube
where 切片

第一个on 列的列可以用0来替代,on 行的行可以用1来替代

(2)MDX种的元组

元组由(members)括号来组成的。或者成员都属于某一个属性或者层次结构下,就可以用Start:End,以冒号隔开

元组里面一种成员只能出现一次

例如:

select {([Measures].[Reseller Sales Amount])}  on 0,
{([Date].[Calendar Year].&[2001]),([Date].[Calendar Year].&[2002])
} on 1
from [BF_Cube1]还有一种写法,就是以冒号显示,这种写法只是存在与一个成员里面才行(或者层次)select {([Measures].[Reseller Sales Amount])}  on 0,
{([Date].[Calendar Year].&[2001]:[Date].[Calendar Year].&[2002])
} on 1
from [BF_Cube1]

(3)MDX中的集合

由0-N个元组组成,而且其组成的元组数据结构必须一样,函数中成员、元组或集必须使用相同的层次结构。

select {([Measures].[Reseller Sales Amount])}  on 0,
{([Product].[Category].&[1],[Date].[Calendar Year].&[2001]),([Product].[Category].&[2],[Date].[Calendar Year].&[2001])
} on 1
from [BF_Cube1]

members关键字

non empty{}过滤空的cell

select non empty{
[Measures].[Reseller Sales Amount]} on 0,
non empty{{[Date].[Calendar Year].[Calendar Year].members}*[Product].[Category].[Category].members
}
on 1
from [BF_Cube1] 

(4)维度成员的加减乘

加法:

select non empty{
[Measures].[Internet Sales Amount]} on 0,{[Date].[Calendar].[Calendar Year].&[2003]}+{[Date].[Calendar].[Calendar Year].&[2006]}on 1
from [BF_MDX]

减法:

select non empty{
[Measures].[Internet Sales Amount]} on 0,{[Date].[Calendar].[Calendar Year].members - [Date].[Calendar].[Calendar Year].&[2004]}on 1
from [BF_MDX]

乘法:

乘法是笛卡尔积

select non empty{
[Measures].[Internet Sales Amount]} on 0,{([Date].[Calendar].[Calendar Year].members)}* [Geography].[Country].memberson 1
from [BF_MDX]

加:只能用在集合上

减,都可以,一半情况下,用在去掉一些不显示的成员.比如ALL或者UnKnown

乘,笛卡尔乘积.都可以,系统会自己判断解析

(6)一些函数和关键字

MDX里面函数很多,

1)distinct()函数,类似于T-sql的效果一样

示例:

select non empty{
[Measures].[Internet Sales Amount]} on 0,distinct({[Date].[Calendar].[Calendar Year].&[2003],[Date].[Calendar].[Calendar Year].&[2004],[Date].[Calendar].[Calendar Year].&[2004]})on 1
from [BF_MDX]

2)MeasureGroupMeasures("Reseller Sales")函数,它返回属于指定度量值的一组度量值

select non empty{
MeasureGroupMeasures("Reseller Sales")} on 0,distinct({[Date].[Calendar].[Calendar Year].&[2003],[Date].[Calendar].[Calendar Year].&[2004],[Date].[Calendar].[Calendar Year].&[2004]})on 1
from [BF_MDX]

3)AddCalculatedMembers(set)函数,显示set的所有兄弟姐妹计算列

select non empty{
AddCalculatedMembers([Measures].[Reseller Sales Amount])
} on 0,distinct({[Date].[Calendar].[Calendar Year].&[2003],[Date].[Calendar].[Calendar Year].&[2004],[Date].[Calendar].[Calendar Year].&[2004]})on 1
from [BF_MDX]

4)Crossjoin函数,返回一个或多个集的叉集,类似于笛卡尔乘积

select non empty{
[Measures].[Internet Sales Amount]} on 0,crossjoin({([Date].[Calendar].[Calendar Year].members)}, [Geography].[Country].members)on 1
from [BF_MDX]

5)Exists(Set_Expression1,Set_Expression2[,MeasureGroupName])

返回与第二个指定集的一个或多个元组共存的第一个指定集中的元组 集.该函数手动执行自动Exists以自动方式执行的操作.

如果提供了可选的<Measure Group Name>,则函数返回与第二个集中的一个或多个元组共存的元组以及在指定度量值组的事实数据表中具有关联行的元组.

select non empty{[Measures].[Internet Sales Amount],[Measures].[Reseller Sales Amount]
} on 0,exists({([Product].[Product Categories].[Category].members)}*[Product].[Color].members,[Product].[Subcategory].&[1])on 1
from [BF_MDX]where ([Geography].[Country].&[United States])

SSAS的MDX语句整理相关推荐

  1. MySQL 语句整理 2019-5-3

    MySQL 语句整理 在整理完Oracle的一些常见用语句后,由于MySQL的语法跟Oracle略有不同,随跟PN的MySQL视频进行了间接整理. 查询薪水大于1800, 并且部门编号为20或30的员 ...

  2. 一个项目涉及到的50个Sql语句(整理版)

    /* 标题:一个项目涉及到的50个Sql语句(整理版) 作者:爱新觉罗.毓华(十八年风雨,守得冰山雪莲花开) 时间:2010-05-10 地点:重庆航天职业学院 说明:以下五十个语句都按照测试数据进行 ...

  3. SSAS的MDX的基础函数(三),及聚合函数

    1.  Filter函数 Filter(Set_Expression, Logical_Expression )返回根据搜索条件对指定集进行筛选后得到的集. Filter 函数对指定集中的每个元组计算 ...

  4. oracle运维常用语句,oracle运维个人常用检查语句整理

    1.查找排序最多的SQL SQL> SELECT HASH_VALUE, SQL_TEXT, SORTS, EXECUTIONS FROM V$SQLAREA ORDER BY SORTS DE ...

  5. JavaScript的基础语句整理

    JavaScript的基础语句整理 文章目录 JavaScript的基础语句整理 一.JavaScript的输出 二.JavaScript的基础语句 2.JavaScript语句的关键词 总结 大部分 ...

  6. 关系代数与sql语句整理

    关系代数与sql语句整理 关系代数 π\piπ:投影 πeeid,eename(examiee)\pi_{eeid,eename}(examiee)πeeid,eename​(examiee) σ\s ...

  7. MDX语句(初学者)

    一.什么是MDX MDX语句(MultiDimensionalExpressions)是一种语言,支持多维对象与数据的定义和操作.它可以表达在线分析出来数据卡上的选择.计算和一些元数据定义等操作,并赋 ...

  8. 数据库三级考mysql还是sqlse_计算机三级考试数据库SQL语句整理

    计算机三级考试数据库SQL语句整理 本文是关于计算机三级考试数据库SQL语句整理,包括创建数据库.删除数据库.备份sql server.创建新表等,供同学们参考学习!想了解更多相关信息请持续关注我们应 ...

  9. MySQL—常用SQL语句整理总结

    关注微信公众号:CodingTechWork,一起学习进步. 引言   记录并整理常用的SQL语句使用笔记. 创建数据库和表 创建库(CREATE DATABASE) CREATE DATABASE ...

最新文章

  1. Eclipse一直building workspace问题解决
  2. Linux程序开机启动
  3. 停用nfs导致cacti无法抓取snmp数据
  4. config中自定义配置
  5. 聊聊 HTTPS 和 SSL/TLS 协议
  6. Android之MVP 模式:简单易懂的介绍方式
  7. 简单三层架构(登录)
  8. Android之BroadcastReceiver 监听系统广播
  9. 月薪2万程序员面试,被HR直面吐槽:毕业生能值这个数?
  10. 基于Matlab----MSK调制与解调
  11. 学python要什么基础-要学Python编程,需要什么样的基础呢?想找这方面工作
  12. MySQL Replication 常用架构
  13. 学习如何在matlab用带通滤波器进行滤波
  14. JDK的环境变量配置(步骤超级简单)
  15. 【数据库设计及SQL代码实现】英皇电影院电影管理系统
  16. maya表情blendshape_【UE4】人物角色MorphTarget(Blendshape) 面部表情制作方案
  17. 石油石化物资采购杂志石油石化物资采购杂志社石油石化物资采购编辑部2022年第16期目录
  18. Kali网络渗透实验一
  19. Word插入高亮格式化代码
  20. 什么是拦截器?什么是过滤器?

热门文章

  1. C语言islower函数介绍、示例和实现
  2. 附录 D:保护 Active Directory 中的内置 Administrator 帐户的安全
  3. Oracle学习总结(5)—— SQL语句经典案例
  4. 光靠勤奋和努力是远远不够的
  5. vsftp虚拟用户权限问题
  6. solr简介——(九)
  7. OpenSuse13.2 安装GMT 5.4.2
  8. SWOT分析法(态势分析法)
  9. 数组常见异常 学习笔记
  10. 在 SELECT 查询中使用开窗函数