MDX函数
MDX重点函数
成员函数
1、.CurrentMember
- 获取运行时当前的成员,用法:<Dimension>.CurrentMember 。
2、.Parent
- 获取运行时当前的成员的父成员。用法:<Member>.Parent。

3、.PrevMember/.NextMember
- 返回当前成员的前一个/后一个成员。<Member>.FirstChild/LastChild

4、.FirstChild/.LastChild
- 返回当前成员的第一个/最后一个子成员。语法:<Member>.FirstChild/LastChild

5、.FirstSibling/LastSibling
- 返回当前同级的第一个/最后一个成员。语法:<Member>.FirstSibling/LastSibling。
- 相当于 <Member>.Parent.FirstChild/.lastChild

6、Ancestor
- 返回特定级别的祖先成员。语法如下:
- Ancestor(<Member>, <Level>)
- Ancestor(<Member>, <Numeric Expression>)
([Measures].[总电量], [运营类型大类].[运营类型大类].[运营类型大类].CurrentMember)/ sum(Ancestor([运营类型大类].[运营类型大类].[运营类型大类].CurrentMember,1))

7、LAG
- 返回当前成员开始往前数的本层的第几个成员,语法:<Member>.Lag(n)。
- n是索引,0是它本身,1是前一个(.PrevMember)。

8、OpeningPeriod/ClosingPeriod
- 返回某个层次上第一个/最后一个后代成员,语法:OpeningPeriod([<Level>[, <Member>])。

9、ParallelPeriod
- 返回一个成员同层次对应位置的成员。语法:ParallelPeriod([<Level>[, <n>[, <Member>]]])。
- 在时间维度上取同期(如上年同期)等时候要用到它。
- 使用 PARALLELEPRIOD(Level, N, Member) 先把同比值查询出来,Level 指定的是年,1 表示 1年前,Member 就是指当前成员并且表示月。所以整个表达的意思就是查询当前成员1年前的相对应的那个月的 Reseller Sales Amount 的值是多少

其它函数
1、IS
- 判断是否为同一个对象。语法: object is object2。
2、IsEmpey
- 判断一个值是否为空。语法:IsEmpey(表达式)。
3、IIF
- 根据条件返回值,类似 Excel 的 If 函数。语法:iif(<布尔表达式>, <值 1>, <值 2>)。
- 如果布尔表达式为真,返回值 1,否则,返回值 2。
4、ITEM
- 根据索引返回集合中元素。语法:item(set, <index>)。
- 返回类型一般为元组。
计算成员
- 假设你想创建一个度量,它的值不是来自事实表的列,而是来自一个 MDX 公式。一种方式使用 with member 字句,如下图:

- 如果每个 MDX 查询中包含这个子句,更好的办法是,把这个成员定义到schema中,作为Cube定义的一部分,如下:

- FORMAT_STRING 属性值同样可以使用一个表达式。当格式化一个特定单元格时,首先这个表达式会被运算以产生一个格式字符串,然后把这个格式字符串应用到单元格。下面使用一个条件化的格式字符串:
<CalculatedMemberProperty name="FORMAT_STRING" expression="Iif(Value < 0,'|($#,##0.00)|style=red', '|$#,##0.00|style=green')"/>
- 计算成员的另外一个属性是 DATATYPE,可以有 String、Integer 或 Numeric 这些取值,如下:

- 可以给计算成员指定 SOLVE_ORDER 属性,用于确定计算时的优先级,如下:

- SOLVE_ORDER 属性是一个整数,默认是 0,值大者胜出。
MDX函数的更多相关文章
- MDX函数(官方顺序,带示例)
MDX函数(官方顺序) 1. AddCalculatedMembers (MDX) 返回通过将计算成员添加到指定集而生成的集. 语法: AddCalculatedMembers(Set_Expres ...
- [译]SSRS 编写带参数的MDX报表
编写MDX报表长久以来对于报表人员来说都比较痛苦. 当然如果你用查询设计器(Query Designer) 直接拖拉数据集那就很方便,但是你们有没有想过查询设计器是怎么创建MDX的.或者创建的参数是如 ...
- SSRS 系列 - 使用带参数的 MDX 查询实现一个分组聚合功能的报表
SSRS 系列 - 使用带参数的 MDX 查询实现一个分组聚合功能的报表 SSRS 系列 - 使用带参数的 MDX 查询实现一个分组聚合功能的报表 2013-10-09 23:09 by BI Wor ...
- MDX Step by Step 读书笔记(九) - Working with Time 处理时间
开篇介绍 这一章节主要用到的 MDX 函数: PeriodsToDate( [Level , [Member]] ) - 从指定级别的范围内,返回与指定成员同一级别,从第一个期间开始到指定成员结束的期 ...
- 微软BI 之SSRS 系列 - 使用带参数的 MDX 查询实现一个分组聚合功能的报表
基于数据仓库上的 SSRS 报表展示,一般可以直接通过 SQL 查询,存储过程,视图或者表等多种方式将数据加载并呈现在报表中.但是如果是基于 Cube 多维数据集的数据查询,就不能再使用 SQL 的语 ...
- MDX Step by Step 读书笔记(八) - Navigating Hierarchies 层次结构导航
开篇介绍 本章主要内容包括: 解释各种不同的 MDX 导航函数的使用: Parent, Children, FirstChild, LastChild, Siblings, FirstSibling, ...
- FocusBI:MDX检索多维模型
微信公众号:FocusBI关注可了解更多的商业智能.数据仓库.数据库开发.爬虫知识及沪深股市数据推送.问题或建议,请关注公众号发送消息留言;如果你觉得FocusBI对你有帮助,欢迎转发朋友圈或在文章末 ...
- SSAS——MDX基础
一.基本概念 MDX:一种查询语言,从多维的数据集单元格中检索数据.支持两种不同的模式: 1.表达式语言:定义和操纵Analysis Services对象和数据以计算值 2.查询语言:从Analysi ...
- BI之SSAS完整实战教程5 -- 详解多维数据集结构
之前简单介绍过多维数据集(Cube)的结构. 原来计划将Cube结构这部分内容打散,在实验中穿插讲解, 考虑到结构之间不同的部分都有联系,如果打散了将反而不好理解,还是直接一次性全部讲完. 本篇我们将 ...
随机推荐
- obs studio 使用
专业,开源,无广告,免费,录屏/推流神器--obs studio 稍微简单的也有captura, 原理:调用本地API获取音频流,图像流(全屏幕,单个windows窗口的图像输出)->开源音视频 ...
- SDWebImage 的简单使用方法
第一步,下载SDWebImage,导入工程 第二步,在需要的地方导入头文件:#import "UIImageView+WebCache.h" 第三步,调用sd_setImage ...
- 以太坊钱包开发系列4 - 发送Token(代币)
以太坊去中心化网页钱包开发系列,将从零开始开发出一个可以实际使用的钱包,本系列文章是理论与实战相结合,一共有四篇:创建钱包账号.账号Keystore文件导入导出.展示钱包信息及发起签名交易.发送Tok ...
- node基础知识-常用node命令
node中js的组成部分:ECMAScript核心+全局成员+模块系统成员 浏览器中的js组成部分:ECMAScripts核心+BOM+DOM 常用node命令 cmd中进入REPL环境:直接输入no ...
- 正常终止expdp作业
1.先查询expdp对应的job_nameSQL> select * from dba_datapump_jobs; OWNER_NAME JOB_NAME OPERATION JOB_MOD ...
- 常用 blas 函数
Y=alpha * X +beta*Y template <> void caffe_cpu_axpby<float>(const int N, const float alp ...
- Vue(六) 表单与 v-model
学习使用 v-model 指令完成表单数据双向绑定 基本用法 表单控件在实际业务较为常见,比如单选,多选.下拉选择.输入框等,用他们可以完成数据的录入.校验.提交等.Vue.js 提供了 v-mode ...
- 修改C#mvc的默认首页
找到Global.asax,在其中RouteConfig.RegisterRoutes(RouteTable.Routes);这条方法上,右键转到定义,在defaults: new { control ...
- C语言结构体指针初始化(转)
reference: https://www.cnblogs.com/losesea/archive/2012/11/15/2772526.html 今天来讨论一下C中的内存管理. 记得上周在饭桌上和 ...
- SharePoint REST API - 使用REST API和jQuery上传一个文件
博客地址:http://blog.csdn.net/FoxDave 本篇主要通过两个代码示例来展示如何应用REST API和jQuery上传文件到SharePoint. 示例会使用REST接口和j ...