MDX Cookbook 07 - 在不同层次结构的成员中实现 逻辑 OR 的效果
2013-12-02 23:50
369 查看
第一个示例:查看所有包括黑色产品的子目录产品中的 Reseller Order Quantity 和 Reseller Order Count。
第二个示例:和第一个示例查询结构一样,只是筛选的是大小为 XL 的产品子目录,并且只有 Jerseys 一个返回。
那么如果要在这里面表达 OR 的关系,即产品为黑色的或者大小为 XL 的产品子目录有哪些? 可以这样来实现 -
这其中的关联非常有意思,是通过一个由两个元组组成的集合形成的。
那么对于逻辑 OR 的实现,首先要理解的是它应该要被表达成集合的形式。由于我们的成员实际上来自于不同的维度,所以我们首先需要将这些成员转变成元组 Tuple,并且这些元组必须在维度层次结构上和元组顺序一致这样就形成了一个集合。实现的过程就是使用自己当前的成员与另外一个过滤条件成员的根成员共同形成一个元组,另外一个也是如此,这样一个集合就出来了。
在这个例子中其实也可以看到 Auto-Exist 机制的影响,可以参看我的这篇博客 - /article/4842409.html
有一个特别要注意的地方,如果维度中没有像 [All Products]这样的根成员,或者设置了 IsAggregatable = False,那么这时就应该使用它的默认成员来代替。
其它 BI 博客系列看参看 - BI 系列随笔列表 (SSIS, SSRS, SSAS, MDX, SQL Server)
第二个示例:和第一个示例查询结构一样,只是筛选的是大小为 XL 的产品子目录,并且只有 Jerseys 一个返回。
那么如果要在这里面表达 OR 的关系,即产品为黑色的或者大小为 XL 的产品子目录有哪些? 可以这样来实现 -
SELECT { [Measures].[Reseller Order Quantity], [Measures].[Reseller Order Count] } ON 0, NON EMPTY {[Product].[Subcategory].MEMBERS} ON 1 FROM [Adventure Works] WHERE ( { ([Product].[Color].&[Black],[Product].[Size Range].[All Products]), ([Product].[Color].[All Products], [Product].[Size Range].&[XL]) } )
这其中的关联非常有意思,是通过一个由两个元组组成的集合形成的。
{ ([Product].[Color].&[Black],[Product].[Size Range].[All Products]), ([Product].[Color].[All Products], [Product].[Size Range].&[XL]) }
那么对于逻辑 OR 的实现,首先要理解的是它应该要被表达成集合的形式。由于我们的成员实际上来自于不同的维度,所以我们首先需要将这些成员转变成元组 Tuple,并且这些元组必须在维度层次结构上和元组顺序一致这样就形成了一个集合。实现的过程就是使用自己当前的成员与另外一个过滤条件成员的根成员共同形成一个元组,另外一个也是如此,这样一个集合就出来了。
在这个例子中其实也可以看到 Auto-Exist 机制的影响,可以参看我的这篇博客 - /article/4842409.html
有一个特别要注意的地方,如果维度中没有像 [All Products]这样的根成员,或者设置了 IsAggregatable = False,那么这时就应该使用它的默认成员来代替。
其它 BI 博客系列看参看 - BI 系列随笔列表 (SSIS, SSRS, SSAS, MDX, SQL Server)
相关文章推荐
- Android2.2 API 中文文档系列(6) —— ImageView
- linux中单引号、双引号、反引号的作用
- 图像傅立叶变换的物理意义
- Working Practice-使用错误记录器记录错误
- POJ 1659 - Frogs' Neighborhood , Havel_Hakimi 定理
- linux shell编程指南第十二章------------tr 用法
- NPOI 1.2教程(目录)操作Excel
- 微信测试帐号,接口配置验证不通过
- 管理源码
- 网络漏洞扫描器的设计与实现
- POJ 1007 DNA Sorting
- ACM之java速成
- 内部相亲网站意中人
- Eclipse颜色主题插件:Eclipse Color Theme
- WEBSERVICE入门01:webservice概述
- UI的设计风格
- MDX Cookbook 06 - GENERATE 循环遍历
- 从移动2G、3G、4G和iphone5s说起的手机那点事
- socket5代理 客户端代码
- 设计一个计算器类Calculator,它只有一个计数的成员count。该计算器的有效范围说0~65535,实现计算器的前自增、后自增、前自减、后自减、两个计算器相加减等运算