假设我们只想显示一些与数据没有任何关联的维度成员信息,并且希望它们能够以行集的形式来显示,那么在 MDX 中就应该直接显示 ROWS  AXIS (1) 并且忽略掉 COLUMNS AXIS(0).比如说有100个成员信息,如果是一列100行的形式通常符合大家的查询习惯,如果是一行100列,读起来就比较困难. 需要了解的是 SELECT 语句最多可以支持 128 个轴,轴的序号从 0 ~ 127,但是基本上我们不会使用的到那么多, 一般只使用前两个, 即我们常用的 COLUMNS 和 ROWS,…
有时候需要从集合中取出特定的成员但是又不能执行遍历操作,这个时候就可以使用 GENERATE 函数来解决这个问题. 根据地区查询每年的销售额 - SELECT NON EMPTY { , NON EMPTY { FROM [Adventure Works] 现在需要查询每年销售额最高的那个月在各个地区的销售情况. WITH SET [Best month per year] AS Generate( [Date].[Calendar].[Calendar Year].MEMBERS, TopCo…
---------- 要求返回空的List集合----------- List<String> allList = Collections.emptyList();// 返回空的List集合 allList.add("Xiao Ran Li"); ---------- 将集合里面的所有元素清空----------- list 里面有clear()方法 ---------- 将集合里的一个元素删除----------- remove(); ------------------…
先认识一下这几个名词 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…
递归的应用有时是非常重要的,特别在迭代一个集合的时候.为什么这么说呢?原因在于迭代在MDX中的使用是基于集合函数的,像 GENERATE() 它们都需要遍历整个集合.但是如果这个集合非常的庞大,我们仅仅只需要在集合中查找一部分特定的东西,那么能够在找到需要的内容时就立刻停止的话,这就可以提高不少效率了. 下面这个查询返回4个财年以及它们总共的 Order Count - SELECT {, NON EMPTY {Descendants([Date].[Fiscal Weeks].[All Per…
第一个示例:查看所有包括黑色产品的子目录产品中的 Reseller Order Quantity 和 Reseller Order Count. 第二个示例:和第一个示例查询结构一样,只是筛选的是大小为 XL 的产品子目录,并且只有 Jerseys 一个返回. 那么如果要在这里面表达 OR 的关系,即产品为黑色的或者大小为 XL 的产品子目录有哪些? 可以这样来实现 - SELECT { [Measures].[Reseller Order Quantity], [Measures].[Rese…
下面的这个查询返回每个财月的 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 查询中的 WHERE 条件即 Slicer 切片来完成,同样的这里显示的是如何在切片中排除掉一些成员. 先看这一个查询 - , NON EMPTY {[Promotion].[Promotion].MEMBERS } DIMENSION PROPERTIES [Promotion].[Promotion].[Discount Percent] FROM [Adventure Works] 上面的查询返回了12个 Promot…