1.  Filter函数

Filter(Set_Expression, Logical_Expression )返回根据搜索条件对指定集进行筛选后得到的集。

Filter 函数对指定集中的每个元组计算指定的逻辑表达式。如果逻辑表达式计算结果为 true,该函数将返回由指定集中的每个元组构成的集。如果所有元组的计算结果都不为 true,则返回一个空集。

Filter 函数的工作方式与 IIf 函数类似。IIf 函数只返回两个选项中的一个,返回哪一个取决于 MDX 逻辑表达式的值;而 Filter 函数返回符合指定搜索条件的元组集。实际上,Filter 函数是对集中的每个元组执行 IIf(Logical_Expression, Set_Expression.Current, NULL),然后返回所得到的集。

示例1:

SELECT{ ([Measures].[Reseller Sales Amount]), ([Measures].[Internet Sales Amount]) } ON COLUMNS, Filter( {[Product].[Product].[Product].Members}, ([Measures].[Internet Sales Amount]) > ([Measures].[Reseller Sales Amount]) ) ON ROWS FROM [BF_MDX]

效果:

示例2:

SELECT{ ([Measures].[Reseller Sales Amount]), ([Measures].[Internet Sales Amount]) } ON COLUMNS, Filter( {[Product].[Category].children*[Product].[Product].[Product].Members}, ([Measures].[Internet Sales Amount]) > ([Measures].[Reseller Sales Amount]) AND ( [Product].[Category].CurrentMember Is [Product].[Category].[Clothing] OR [Product].[Category].CurrentMember Is [Product].[Category].[Accessories] ) ) ON ROWS FROM [BF_MDX]

效果:

  

示例3:

SELECT{ ([Measures].[Reseller Sales Amount]), ([Measures].[Internet Sales Amount]) } ON COLUMNS, Filter( {[Product].[Category].children*[Product].[Product].[Product].Members}, ([Measures].[Internet Sales Amount]) > ([Measures].[Reseller Sales Amount]) AND NOT ( [Product].[Category].CurrentMember Is [Product].[Category].[Clothing] OR [Product].[Category].CurrentMember Is [Product].[Category].[Accessories] ) ) ON ROWS FROM [BF_MDX]

效果:

  

一些思考

Filter如何取代where切片

扩展思维

with member measures.year as  vbamdx!cint([Date].[Calendar Year].currentmember.properties('key'))

给最左边的mdx语句加上时间限制. 查询只大于等于2003年的数据

2. 组合结果集函数

Union 合并,intersection交集和, Except减去第二个集合

示例1:

SELECT{([Measures].[Reseller Sales Amount])} ON COLUMNS,Union(    TopCount(     {[Product].[Product].[Product].Members},          5,        ([Measures].[Reseller Sales Amount], [Date].[Calendar Year].[CY 2003])    ),

  TopCount(     {[Product].[Product].[Product].Members},          5,            ([Measures].[Reseller Sales Amount], [Date].[Calendar Year].[CY 2004])        ))          ON ROWS       FROM [bf_mdx]

效果1:

  

示例2:

SELECT {([Measures].[Reseller Sales Amount])} ON COLUMNS, Intersect( TopCount( {[Product].[Product].[Product].Members}, 10, ([Measures].[Reseller Sales Amount], [Date].[Calendar Year].[CY 2004]) ), TopCount( {[Product].[Product].[Product].Members}, 10, ([Measures].[Reseller Sales Amount], [Date].[Calendar Year].[CY 2003]) ) ) ON ROWSFROM [BF_MDX]

效果2:

  

示例3:

SELECT {([Measures].[Reseller Sales Amount])} ON COLUMNS, Except(   TopCount( {[Product].[Product].[Product].Members}, 10, ([Measures].[Reseller Sales Amount], [Date].[Calendar Year].[CY 2003]) ), TopCount( {[Product].[Product].[Product].Members}, 10, ([Measures].[Reseller Sales Amount], [Date].[Calendar Year].[CY 2004]) ) ) ON ROWS FROM [BF_MDX]

效果3:

  

SSAS的MDX的基础函数(三),及聚合函数相关推荐

  1. ML之FE:pandas库中数据分析利器之groupby分组函数、agg聚合函数、同时使用groupby与agg函数组合案例之详细攻略

    ML之FE:pandas库中数据分析利器之groupby分组函数.agg聚合函数.同时使用groupby与agg函数组合案例之详细攻略 目录 pandas库中数据分析利器之groupby分组函数.ag ...

  2. mysql 聚合函数嵌套_Mysql聚合函数嵌套如何使用 Mysql聚合函数嵌套使用方法

    Mysql聚合函数嵌套如何使用?本篇文章小编给大家分享一下Mysql聚合函数嵌套使用方法,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看. 目的:Mysql 聚合函数嵌套使用 ...

  3. Python基础(三)_函数和代码复用

    三:函数和代码复用 (一)函数的基本使用 1.函数的定义 函数是一段具有特定功能的.可重用的语句组,用函数名来表示并通过函数名进行功能调用.函数也可以看作是一段具有名字的子程序,可以在需要的地方调用执 ...

  4. SQL语句汇总(三)——聚合函数、分组、子查询及组合查询

    聚合函数: SQL中提供的聚合函数可以用来统计.求和.求最值等等. 分类: –COUNT:统计行数量 –SUM:获取单个列的合计值 –AVG:计算某个列的平均值 –MAX:计算列的最大值 –MIN:计 ...

  5. 【Android 逆向】Android 进程注入工具开发 ( 注入代码分析 | 远程调用 目标进程中 libc.so 动态库中的 mmap 函数 三 | 等待远程函数执行完毕 | 寄存器获取返回值 )

    文章目录 前言 一.等待远程进程 mmap 函数执行完毕 二.从寄存器中获取进程返回值 三.博客资源 前言 前置博客 : [Android 逆向]Android 进程注入工具开发 ( 注入代码分析 | ...

  6. MongoDB学习总结(三) —— 常用聚合函数

    上一篇介绍了MongoDB增删改查命令的基本用法,这一篇来学习一下MongoDB的一些基本聚合函数. 下面我们直奔主题,用简单的实例依次介绍一下. > count() 函数 集合的count函数 ...

  7. MySQL常用函数,和聚合函数简单应用

    #SQL脚本 /* SQLyog 企业版 - MySQL GUI v8.14 MySQL - 5.5.40 : Database - school ************************** ...

  8. Hive学习---4、函数(单行函数、高级聚合函数、炸裂函数、窗口函数)

    1.函数 1.1 函数简介 Hive会将常用的逻辑封装成函数给用户进行使用,类似java中的函数. 好处:避免用户反复写逻辑,可以直接拿来使用 重点:用户需要知道函数叫什么,能做什么 Hive提供了大 ...

  9. mysql的所有聚合函数_MySQL常用聚合函数详解

    一.AVG AVG(col) 返回指定列的平均值 二.COUNT COUNT(col) 返回指定列中非NULL值的个数 三.MIN/MAX MIN(col):返回指定列的最小值 MAX(col):返回 ...

最新文章

  1. Maven自动FTP远程部署
  2. QT的QMediaControl类的使用
  3. JavaScript中null与undefined的比较
  4. BASIC-12 十六进制转八进制
  5. 一段js面向对象的写法
  6. java web项目中连接mysql数据库,javaweb之eclipse工程连接mysql数据库
  7. LeetCode:Remove Nth Node From End of List 移除链表倒第n项
  8. 信息学奥赛一本通(2066:【例2.3】买图书)
  9. 2912: 奇怪的加法问题(XOR的加法写法)
  10. 【Linux开发】linux设备驱动归纳总结(四):2.进程调度的相关概念
  11. java int数组任何数之间间隔不能对于指定数,内付极速排序
  12. sql \n 查询_探索SQL查询提示选项(快速N)
  13. 常用命令(3)---Assertion(selenium学习笔记(一)seleniumIDE)
  14. Linux 内核/sys 文件系统之sysfs 属性文件
  15. rpg游戏地图绘制android,基于Android studio 的rpg游戏大地图的绘制
  16. 美团校招实习生面试一面
  17. 64位windows无法正常安装dnw的解决方案
  18. Spring Cloud 教程
  19. linux进程的通信文件映射,Linux进程间通信 -- mmap函数的使用
  20. ubuntu美化及解决使用zsh后无法运行ROS

热门文章

  1. Oracle11g数据库快速安装
  2. 归纳推理测试没做完_天气热,教你用寒天粉做果冻,清凉爽滑,5秒吃完一盘没问题...
  3. 关于http协议中的服务器状态情况
  4. vue怎么注释html代码,vue如何注释
  5. Linux学习总结(79)—— Shell 编程规范
  6. Spring Boot学习总结(18)——Springboot 2.0选择HikariCP作为默认数据库连接池的五大理由
  7. Java基础学习总结(110)——Java主要技术点总结
  8. Linux学习总结(17)——Linux新手必须学会的12个命令
  9. 里计算两个数的总和_发动机排量怎样计算?懂这个的修理工真嘀很少!
  10. 011235813用java写出来_【JAVA】关于在运行后控制台显示的一些功能问题,请吧友帮我解答...