MDX members使用】的更多相关文章

Members (Set) 函数返回该指定层次结构内所有成员(不包括计算成员)的集: Members (String) 函数返回已指定名称的单个成员. 通常,将 Members (String) 函数与外部函数一起使用,为 Members (String) 函数提供一个用于标识成员的字符串,并且 Members (String) 函数返回该指定成员的值. Members (整数)函数返回该维度中所有成员在数组key(整数)中所对应的成员的值: 例如下图:[时间].[年 名称].MEMBERS(2…
MDX函数(官方顺序) 1.  AddCalculatedMembers (MDX) 返回通过将计算成员添加到指定集而生成的集. 语法: AddCalculatedMembers(Set_Expression) 参数: Set_Expression 返回集的有效多维表达式 (MDX). 默认情况下,MDX在解析集函数时会排除计算成员.AddCalculatedMembers 函数会检查 Set_Expression, 中所指定的集表达式,并包括与该集表达式作用域内所含成员处于同级的计算成员. 此…
MDX : Non Empty v/s NonEmpty User Rating: / 50 PoorBest Written by Jason Thomas    Friday, 07 May 2010 00:44 Reposted from Jason Thomas blog with the author's permission. The last few months, recession worries have allayed and it is common to see the…
一个人力资源咨询集团通过网络爬虫采集手段将多个知名招聘网站上发布的求职和招聘等信息准实时采集到自己的库里,形成一个数据量浩大的招聘信息库,跟踪全国招聘和求职的行业.工种.职位.待遇等信息,并通过商业智能系统,开展职业职位供求及趋势等相关统计分析.这家公司竟然用SSAS OLAP Cube多维数据集容纳如此数量级的数据,广告维成员包含了每一个广告条目.该商业智能团队的开发人员咨询如何用MDX求解薪水中位数.四分位数(Median,Quartile)等. 以下是对Median.Q1.Q3等问题的MD…
MDX语句的特点: 大小写不分.members等于Members;downloads等于Downloads 维度的统计量指定要选择准确.downloads等于[Downloads] []可以少,不能多.members外部不能有[],否则报错 TopCount函数格式. members是属性中所有成员的枚举. 同一维度下的属性组合,用Hierarchize: SELECT NON EMPTY {[Measures].[Downloads]} ON COLUMNS, NON EMPTY {Hiera…
Saiku查询设定:Saiku查询数据时,每次都是全量查询的,我们现在需要默认展示近一周的数据. 通过编写使用MDX表达式进行过滤 通过编写MDX表达式,添加新的指标信息对一周以内的数据进行标识 (其实我也想添加新的维度信息,但是好像不生效,所以就用指标了) /** 检测日期的差值,小于7 */ IIf(DateDiff("d",CDate([SaikuUseDate].[SaikuUseDate].CurrentMember.Name), now())> 7, "ye…
基本概念 维度(Dimension):表示数据的属性,一个维度一般会有一个维表(也可能多个),事实表会有一个字段关联维表. 退化维度:有的维度可以没有维度表,因为这种维度比较简单,没有更多属性,没有必要加一个维度表.这种维度叫退化维度.比如事实表里有一个支付方式字段,只有已确定的有限几种取值,比如 cash(现金).credit(信用卡)等.又比如事实表里已有了一个性别字段,那性别这个维度就不需要一个维表. 维度层次(Hierarchy):维度是可以有层次的,分层次的维度提供了更多的数据粒度选择…
在多维表达式 (MDX) 中,下列语句用于管理 MDX 脚本中的上下文.作用域和流控制. 主题 说明 calculate语句 计算子多维数据集,还可以确定子多维数据集中所包含的求解次序 case语句 允许有条件地从多次比较中返回特定值 existing关键字 强制在当前上下文中计算所指定的集 freeze语句 将所指定子多维数据集的单元值锁定为其当前值 if语句 如果条件为真,则执行语句 scope语句 将指定MDX语句的作用域限制于指定的子多维数据集 示例: 假设有一组指标:原本指标的“Act…
这篇小文章的来源是 天善问答,比如在报表中要根据点击某一个成员名称然后作为参数传递给自身报表或者下一张报表,这个在普通的 SQL 查询中没有任何问题.但是在 MDX 中查询是有区别的,比如在 MDX 中显示在报表上的结果是 Category 下的一个分类 Bikes,但是当点击了 Bikes之后把 Bikes 作为参数传递下一个 MDX 查询的报表中,很显然我们要的是参数 [Product].[Product Categories].[Category].&[2] 去作为过滤条件.如果实现知道点…
本篇文章记录 SBS 中 MDX 查询原型,可以根据这些查询原型来解决实际项目中的问题. 1. 查询在 2004年1月2日 - 2004年3月1日之间购买过 Bikes 产品的用户. SELECT ([Product].[Category].[Bikes],[Measures].[Internet Sales Amount]) ON COLUMNS, NON EMPTY [Customer].[Customer].[Customer].MEMBERS ON ROWS FROM [Step-by-…
先认识一下这几个名词 Moving Average (MA) 移动平均,或者叫做移动平均线,是技术分析中一种分析时间序列数据的工具.最常见的就是利用股价,回报或交易量等变数计算出移动平均.可以利用移动平均反映出长期趋势或周期,在数学上这个也叫做卷积 Rolling Average. 还有一个概念叫做 SMA (Simple Moving Average 简单移动平均),是指某个变数之前 N 个数值的累加平均.比如,收市价的10日简单移动平均是指之前10日收市价的平均数,那么这里就可以使用 SMA…
这一小节主要介绍如何在一个平行期间的度量值,当前值的对比对象是指当前值的上一年,上一个季度或者其它时间级别上与当前值同一时间点上的的那个对象.有一个非常常见的需求就是对比上一年同一个时间点的某个值来判断在现在同期的时候这个值的大小是上升了还是下降了. 先显示基于月份成员的销售额情况 - 使用 PARALLELEPRIOD(Level, N, Member) 先把同比值查询出来,Level 指定的是年,1 表示 1年前,Member 就是指当前成员并且表示月.所以整个表达的意思就是查询当前成员1年…
在这个小节中我们将计算度量值的 Year To Date 的值,也就是计算从年开始到当前时间成员为止的度量值的累加结果. 下面的这个查询显示了所有以周为单位的 Reseller Sales Amount - 那么如果要计算上图中以周为单位的累加值,应该如何处理? 比如说现在是 Week 28 CY 2005,那么它的 YTD 累加值就是 Week 27 CY 2005 的度量值 + Week 28 CY 2005 度量值. WITH MEMBER [Measures].[Reseller Sal…
第一个示例:查看所有包括黑色产品的子目录产品中的 Reseller Order Quantity 和 Reseller Order Count. 第二个示例:和第一个示例查询结构一样,只是筛选的是大小为 XL 的产品子目录,并且只有 Jerseys 一个返回. 那么如果要在这里面表达 OR 的关系,即产品为黑色的或者大小为 XL 的产品子目录有哪些? 可以这样来实现 - SELECT { [Measures].[Reseller Order Quantity], [Measures].[Rese…
有时候需要从集合中取出特定的成员但是又不能执行遍历操作,这个时候就可以使用 GENERATE 函数来解决这个问题. 根据地区查询每年的销售额 - SELECT NON EMPTY { , NON EMPTY { FROM [Adventure Works] 现在需要查询每年销售额最高的那个月在各个地区的销售情况. WITH SET [Best month per year] AS Generate( [Date].[Calendar].[Calendar Year].MEMBERS, TopCo…
下面的这个查询返回每个财月的 Customer Count 和 基于上个月比较的 Growth in Customer Base 的记录,Slicer 是 Mountain bikes. SELECT { [Measures].[Customer Count], [Measures].[Growth in Customer Base] } , NON EMPTY { FROM [Adventure Works] WHERE ( ] ) 现在来看看如何统计在每个财月中正增长的天数,这是我自己的写法…
MDX 中最大值和最小值 MDX 中最大值和最小值函数的语法和之前看到的 Sum 以及 Aggregate 等聚合函数基本上是一样的: Max( {Set} [, Expression]) Min( {Set} [, Expression]) 直接看例子,先查询出所有 Sub Category 下的 Reseller Sales Amount. 然后使用 MAX 函数查询出 Sub Category 下最大的 Reseller Sales Amount.在这里查询的范围即 SET 集合是 Sub…
有时需要从一些查询结果里排除掉一些成员,当然平常情况下可以通过 MDX 查询中的 WHERE 条件即 Slicer 切片来完成,同样的这里显示的是如何在切片中排除掉一些成员. 先看这一个查询 - , NON EMPTY {[Promotion].[Promotion].MEMBERS } DIMENSION PROPERTIES [Promotion].[Promotion].[Discount Percent] FROM [Adventure Works] 上面的查询返回了12个 Promot…
开篇介绍 SSAS 分析服务中记录了大量的聚合值,这些聚合值在 Cube 中实际上指的就是度量值.一个给定的度量值可能聚合了来自事实表中上千上万甚至百万条数据,因此在设计阶段我们所能看到的度量实际上就已经应用了某些聚合函数来决定这个值怎样被聚合. 当然有可能已有的度量值远远还不够,还需要在查询的时候继续从不同的角度去聚合一些数据以满足实际需求,因此就会使用到各种不同的 MDX 聚合函数. Sum 聚合 Sum 聚合的应用非常普通和常见,在 MDX 中其语法为: Sum ({SET} [, Exp…
FORMAT_STRING 属性在处理计算成员(通常是度量值成员)的时候会经常使用到,比如指定标准 Standard, 货币 Currency 或者 Percent 百分比格式.除此之外,还可以自定义一些格式化方式,通常对处理负数,零和空值非常有用. CREATE MEMBER [Adventure Works].[Measures].[Gross Profit formatted] AS [Measures].[Sales Amount] - [Measures].[Total Product…
先直接看一个例子 - WITH MEMBER [Date].[Calendar Year].[CY 2006 vs 2005 Bad] AS ], FORMAT_STRING = 'Percent' SELECT { ], ], [Date].[Calendar Year].[CY 2006 vs 2005 Bad] } * , { [Sales Territory].[Sales Territory].[Country].MEMBERS} FROM [Adventure Works] 首先在…
假设我们只想显示一些与数据没有任何关联的维度成员信息,并且希望它们能够以行集的形式来显示,那么在 MDX 中就应该直接显示 ROWS  AXIS (1) 并且忽略掉 COLUMNS AXIS(0).比如说有100个成员信息,如果是一列100行的形式通常符合大家的查询习惯,如果是一行100列,读起来就比较困难. 需要了解的是 SELECT 语句最多可以支持 128 个轴,轴的序号从 0 ~ 127,但是基本上我们不会使用的到那么多, 一般只使用前两个, 即我们常用的 COLUMNS 和 ROWS,…
开篇介绍 这一章节主要用到的 MDX 函数: PeriodsToDate( [Level , [Member]] ) - 从指定级别的范围内,返回与指定成员同一级别,从第一个期间开始到指定成员结束的期间集. Ytd( [Member] ) Qtd( [Member] ) Mtd( [Member] ) Wtd( [Member] ) LastPeriods( n [, Member] )  - 返回从比指定成员表达式滞后 n - 1 个位置的成员开始,到指定成员为止的期间集. ParallelP…
之前我写了一篇在 SSRS 开发中处理这种父子关系的汇总与聚合的文章 (SSRS 系列 - 使用分组 Group 属性实现基于父子递归关系的汇总报表),示例中的查询是基于 SQL Server 关系型数据库的,这一篇是基于 MDX 父子维度的 SSRS 报表. 沿用上一篇中的 (SSAS系列 - 关于父子维度的设计)父子维度 和(SSAS 系列 - 自定义的日期维度设计) 的时间维度,并在此基础上创建 Cube 并部署. 当然在这个例子中可能不会使用到时间维度,之所以添加进来只是因为在 Cube…
开篇介绍 本章主要内容包括: 解释各种不同的 MDX 导航函数的使用: Parent, Children, FirstChild, LastChild, Siblings, FirstSibling, LastSibling, RANK 通过导航函数定位层次结构中的成员: Ancestor, Ancestors, Ascendants, Decendants, Cousin 在层次结构中估算成员的位置: PrevMember, NextMember, Lag, Lead 分析服务中的一个显著的特…
<Microsoft SQL Server 2008 MDX Step by Step>学习笔记九:导航结构层次   SQL Server 2008中SQL应用系列及BI笔记系列--目录索引 导读:本文介绍MDX中的导航结构层次(Hierarchies).成员(Member)之间的关系可以用家族来描述.本文以此为基础,介绍了: ■1.访问直系亲属关系(Immediate Relatives) ■2.访问延伸亲属关系(Extended Relatives) ■3.在一个级别(Level)内导航…
一个人力资源咨询集团通过网络爬虫采集手段将多个知名招聘网站上发布的求职和招聘等信息准实时采集到自己的库里,形成一个数据量浩大的招聘信息库,跟踪全国招聘和求职的行业.工种.职位.待遇等信息,并通过商业智能系统,开展职业职位供求及趋势等相关统计分析.这家公司竟然用SSAS OLAP Cube多维数据集容纳如此数量级的数据,广告维成员包含了每一个广告条目.该商业智能团队的开发人员咨询如何用MDX求解薪水中位数.四分位数(Median,Quartile)等. 以下是对Median.Q1.Q3等问题的MD…
1. MDX 的基本结构 - MDX 的基本结构有三种: Members, Tuple 和 Set    2. Members - 指的是维度树上的一个节点, 这里有一点需要指出, 量度也是一个特殊的维度, 所以对于普通维度上的 Member 可以有几下几种表示方法:[Customer] 或 [Time].[1996] 等. 对于特殊的维度——量度而言, 也可以表示一个 Member ,如: [Measures].[ unit sales] 等.    Member 的表示方法就是用中括号的形式…
1. Set  - 元组的集合,在 Set 中的元组用逗号分开,Set 以花括号括起来,例如: { ([Product].[Category].[Accessories]), ([Product].[Category].[Bikes]), ([Product].[Category].[Clothing]), ([Product].[Category].[Components]) } 从这个例子中可以看到Set的几个特点: 一个Set 中可以包含一个或者多个 Tuple 元组 在 Set 中的每一…
结合webcast中老师的讲解,现在把基础语法应用通过几个案例应用如下: 一.维度的概念 上图中一个维度(Dimension):Region 改为度下有四个级别(Levels):country.province.city.county,他们属于层次集合(Hierarchy) 通过维度和级别我们可以定义一个元素(Member)如: Levels(1).members(2)=china Levels(2).members(3)=shanghai 二.维度建模 上图中时一个维度建立的模型(cube)…