SSAS的MDX的基础函数(三),及聚合函数
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的基础函数(三),及聚合函数相关推荐
- ML之FE:pandas库中数据分析利器之groupby分组函数、agg聚合函数、同时使用groupby与agg函数组合案例之详细攻略
ML之FE:pandas库中数据分析利器之groupby分组函数.agg聚合函数.同时使用groupby与agg函数组合案例之详细攻略 目录 pandas库中数据分析利器之groupby分组函数.ag ...
- mysql 聚合函数嵌套_Mysql聚合函数嵌套如何使用 Mysql聚合函数嵌套使用方法
Mysql聚合函数嵌套如何使用?本篇文章小编给大家分享一下Mysql聚合函数嵌套使用方法,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看. 目的:Mysql 聚合函数嵌套使用 ...
- Python基础(三)_函数和代码复用
三:函数和代码复用 (一)函数的基本使用 1.函数的定义 函数是一段具有特定功能的.可重用的语句组,用函数名来表示并通过函数名进行功能调用.函数也可以看作是一段具有名字的子程序,可以在需要的地方调用执 ...
- SQL语句汇总(三)——聚合函数、分组、子查询及组合查询
聚合函数: SQL中提供的聚合函数可以用来统计.求和.求最值等等. 分类: –COUNT:统计行数量 –SUM:获取单个列的合计值 –AVG:计算某个列的平均值 –MAX:计算列的最大值 –MIN:计 ...
- 【Android 逆向】Android 进程注入工具开发 ( 注入代码分析 | 远程调用 目标进程中 libc.so 动态库中的 mmap 函数 三 | 等待远程函数执行完毕 | 寄存器获取返回值 )
文章目录 前言 一.等待远程进程 mmap 函数执行完毕 二.从寄存器中获取进程返回值 三.博客资源 前言 前置博客 : [Android 逆向]Android 进程注入工具开发 ( 注入代码分析 | ...
- MongoDB学习总结(三) —— 常用聚合函数
上一篇介绍了MongoDB增删改查命令的基本用法,这一篇来学习一下MongoDB的一些基本聚合函数. 下面我们直奔主题,用简单的实例依次介绍一下. > count() 函数 集合的count函数 ...
- MySQL常用函数,和聚合函数简单应用
#SQL脚本 /* SQLyog 企业版 - MySQL GUI v8.14 MySQL - 5.5.40 : Database - school ************************** ...
- Hive学习---4、函数(单行函数、高级聚合函数、炸裂函数、窗口函数)
1.函数 1.1 函数简介 Hive会将常用的逻辑封装成函数给用户进行使用,类似java中的函数. 好处:避免用户反复写逻辑,可以直接拿来使用 重点:用户需要知道函数叫什么,能做什么 Hive提供了大 ...
- mysql的所有聚合函数_MySQL常用聚合函数详解
一.AVG AVG(col) 返回指定列的平均值 二.COUNT COUNT(col) 返回指定列中非NULL值的个数 三.MIN/MAX MIN(col):返回指定列的最小值 MAX(col):返回 ...
最新文章
- Maven自动FTP远程部署
- QT的QMediaControl类的使用
- JavaScript中null与undefined的比较
- BASIC-12 十六进制转八进制
- 一段js面向对象的写法
- java web项目中连接mysql数据库,javaweb之eclipse工程连接mysql数据库
- LeetCode:Remove Nth Node From End of List 移除链表倒第n项
- 信息学奥赛一本通(2066:【例2.3】买图书)
- 2912: 奇怪的加法问题(XOR的加法写法)
- 【Linux开发】linux设备驱动归纳总结(四):2.进程调度的相关概念
- java int数组任何数之间间隔不能对于指定数,内付极速排序
- sql \n 查询_探索SQL查询提示选项(快速N)
- 常用命令(3)---Assertion(selenium学习笔记(一)seleniumIDE)
- Linux 内核/sys 文件系统之sysfs 属性文件
- rpg游戏地图绘制android,基于Android studio 的rpg游戏大地图的绘制
- 美团校招实习生面试一面
- 64位windows无法正常安装dnw的解决方案
- Spring Cloud 教程
- linux进程的通信文件映射,Linux进程间通信 -- mmap函数的使用
- ubuntu美化及解决使用zsh后无法运行ROS
热门文章
- Oracle11g数据库快速安装
- 归纳推理测试没做完_天气热,教你用寒天粉做果冻,清凉爽滑,5秒吃完一盘没问题...
- 关于http协议中的服务器状态情况
- vue怎么注释html代码,vue如何注释
- Linux学习总结(79)—— Shell 编程规范
- Spring Boot学习总结(18)——Springboot 2.0选择HikariCP作为默认数据库连接池的五大理由
- Java基础学习总结(110)——Java主要技术点总结
- Linux学习总结(17)——Linux新手必须学会的12个命令
- 里计算两个数的总和_发动机排量怎样计算?懂这个的修理工真嘀很少!
- 011235813用java写出来_【JAVA】关于在运行后控制台显示的一些功能问题,请吧友帮我解答...