阅读圣经丨聚合与迭代
之前的一期,白茶曾经分享过一次关于迭代循环的文章《迭代循环丨SUMX函数》,本期咱来深入聊聊这个问题。
聚合器:
在大部分数据模型中,几乎都需要我们对数据进行聚合类的操作。DAX中提供了很多聚合类的函数,最常用、频率最高的是SUM函数。比如说这种:
销售额 =
SUM ('表'[销售] )
这就给很多人造成了误解,聚合器就是SUM函数,这是不对的。还有很多其他的,比如说:AVERAGE求平均,MIN求最小值,MAX求最大值。这些函数本质上都是聚合器,只不过是聚合之后返回的结果不同罢了。更确切的说,聚合,这个定义是一种思维方式。
迭代器:
一些特定的函数可以对整个表进行聚合,或者根据行上下文一行一行的去筛选,这类函数就属于迭代器。他们的工作方式针对的不是一个列,而是一个表。大部分聚合器都有一个对应的迭代器函数,比如说:SUM对应SUMX,MIN对应MINX,MAX对应MAXX等等。
看到这是否有个疑问,就是是不是迭代器都有一个聚合函数呢?其实不是的,比如说FILTER函数啊、GENERATE函数、CROSSJOIN函数等等。
通常,迭代器至少需要两个参数,一个是需要扫描的表,一个是针对每一行的表达式。比如说下面的这个度量值代码:
间隔 度量值 =
INT ( SUMX ('示例','示例'[出货日期] ) - SUMX ('示例','示例'[下单日期] ) )
这种就是典型的例子,扫描表,提取对应值,进行求和。
聚合器与迭代器:
我们不妨进行的更深入一点讨论,实际上聚合器就是阉割版的迭代器,它本身函数的内部也是进行迭代匹配的,不然怎么进行相关运算呢?对吧?
想一下,SUM求和某一列,不就是按照行上下文顺序,一行一行的相加最后求和么?怎么可能不算迭代?
所以白茶的理解就是,其实聚合器本身在内部,就封装了符合自己运算逻辑的迭代器。
这里提一下**@嘿**大佬对我的点拨,受益匪浅啊。大佬是这么说的,迭代器也好,聚合器也好,它的核心关键点在于取值。逻辑顺序是这样的:
迭代器→激活行上下文→行上下文取值→值运算
明白了这个逻辑,心理对一些函数的理解就多了一些明悟。
MIN与MAX:
这里单独提一下这俩函数,其他的聚合器基本上都是针对数值生效的,但是MIN和MAX对于文本也是生效的。比如我需要对表中一列客户信息进行迭代,可以使用MINX(MAXX)+MIN(MAX)的模式。
小伙伴们❤GET了么?
白茶会不定期的分享一些函数卡片
(文件在知识星球[PowerBI丨需求圈])
这里是白茶,一个PowerBI的初学者。
下面这个知识星球是针对有实际需求的小伙伴,有需要的请加入下面的知识星球。
阅读圣经丨聚合与迭代相关推荐
- 阅读圣经丨关于DAX(修订版)
"基础不牢,地动山摇". 最近,有很多小伙伴和白茶在聊天,也会涉及到一些度量值的编写,经常能遇到说大脑当机的情况.比如说明明自己知道如何去写,但是大脑思维却停止运转,想不起来的情况 ...
- 阅读圣经丨测试上下文理解
在<圣经2>中,关于上下文理解这一块,白茶看到两个有意思的小测试,决定分享给各位小伙伴. 这是一份销售数据,将其导入到PowerBI中. 结果如图. 现在开始进行问题描述. 问题一: 为数 ...
- 论文阅读:日志聚合 - 关联分析
2020/06/10 - 本篇随笔主要记录自己在阅读文章[1]时的笔记:这篇论文居然是2001年时候发表的,但是哪怕近几年也有人在研究这个东西,没有时间去看具体的发展历程了,这篇论文也不知道质量怎么样 ...
- 学生如何提高专业英文阅读能力丨传道授业
本文针对本科生和一.二年级的博士.硕士生,对高年级的博士生和博士后也应该有参考价值. 撰文 | 施一公 从小到大,我感性思维多一些,不善于读书.85至89年在清华生物系读本科期间,从未读过任何一种英文 ...
- 日神领道----阅读圣经有感
2019独角兽企业重金招聘Python工程师标准>>> 学习圣经有一段时间啦,灵命在一天天增长. 今天谈谈拜师学艺 在过去的传统中,如果一个人想要学习谋生技能,他必需拜师学艺,一般学 ...
- Django丨聚合与分组查询
多表实例 聚合查询 聚合查询函数时对一组值执行计算,并返回单个值 Django使用聚合查询前要先从django.db.models引用Avg.Max.Min.Count.Sum(首字母大写) from ...
- mysql的聚合查询_MySql聚合查询
SELECT语句的查询结果是元组的集合,所以多个SELECT语句的结果可进行集合操作. 集合操作主要包括并操作UNION.交操作INTERSECT.差操作EXCEPT. 注意,参加集合操作的各查询结果 ...
- Facebook也大干新闻聚合 “新闻快读”向所有媒体开放
去年五月,Facebook推出了不离开本站直接阅读新闻的聚合服务"新闻快读"(Instant Articles),用户载入文章的速度大增,不过当时只面向一些特定合作的新闻机构.日前 ...
- 阅读软件怎么添加书源_书迷小说|手机阅读软件 千个书源 搜索换源
点击上方"黑科技专家",设为星标 黑科技软件,第一时间送达 由于公众号改版,现在的公众号消息已经不再按照时间顺序排送了.因此小伙伴们就很容易错过精彩内容.喜欢黑科技的小伙伴,可以将 ...
- 论文阅读技巧之三遍法
本文介绍了三遍法及其在文献调查中的应用. 关键的思想是,你应该以三遍的时间来阅读论文,而不是从一开始就一直读到最后.每个pass都实现了特定的目标,并建立在前一个遍的基础上: 第一个pass让您对本文 ...
最新文章
- opencv中ArUco模块实践(1)
- mysql绿色版的应用5.7
- sql 增加自增列 耗时长_SQLServer为已有数据的表添加一个自增列
- Javascript高级调试——console.table()
- 计算机网络英文面试题,计算机网络面试题整理
- php header 404 nginx,ThinkPHP在nginx下怎么设置?路由统统404,疯了~
- SICP习题解答2.22
- Altium Designer(六):Make Library
- iphone app开发实战很重要:《iPhone App开发实战手册》读后感
- YII 返回值为JSON格式
- nginx 二级目录 php,nginx两个tp程序一个放到二级目录下,我们要如何访问
- redis java 视频教程_redis从入门到精通视频教程【50讲全】
- Eclipse汉化教程2021新版
- 记录ubuntu18.04安装QQ过程
- SAN海量存储解决方案
- 测试软件的稳定性,客户端稳定性测试
- w3c标准语言的是什么,W3C标准及其规范 - Somuns的个人空间 - OSCHINA - 中文开源技术交流社区...
- 问题解决:ERROR: Cannot uninstall 'llvmlite'.
- python中的方法是什么_Python方法
- C++ 与 elang 通信注意问题
热门文章
- 某热门单击手游lua解密.md
- 土地利用转移矩阵图怎么做_土地利用转移矩阵怎么分析excel?
- 【leetcode刷题】[简单]427. 建立四叉树(construct quad tree)-java
- 计算机建筑制图实践报告,工程建筑实习报告范文(精选5篇)
- 以4%参数量比肩GPT-3!Deepmind 发布检索型 LM,或将成为 LM 发展新趋势!?
- PS如何修改扩展插件的名字(Photoshop重命名插件教程)
- Overleaf 中文硕博论文LaTex模板
- TOPSIS(优劣解距离法)
- 飞凌单片机解密_常见的IC芯片解密方法与原理解析!
- ARM、DSP、FPGA比较