EARLIER函数与EARLIEST函数

这两个函数,可以说是DAX函数系列中比较抽象的函数。

隶属于“筛选”类函数,属于“行值”函数。

通常情况下使用在“计算列”之中,如果度量值中添加了存储的虚拟表,涉及到跳出上下文时,也可以使用这两个函数。

用途:在计算列中获取当前行上下文的值。

语法

语法1:

DAX=
EARLIER(<列>, <次数>)

语法2:

DAX=
EARLIEST(<列>)

参数

列:物理列或者列的表达式。

次数:可选项,默认为1。正数,表示跳出外部层级的层数。

返回结果

当前行上下文的行值。

例子

模拟数据:

因为这两个函数本身抽象性太强,白茶决定用具体的例子来说明。

例子1:根据“数据值”添加列排名。

数据排序 =
COUNTROWS ( FILTER ( '例子', '例子'[数据] < EARLIER ( '例子'[数据] ) ) ) + 1

结果如下:

因为EARLIER函数的抽象性,白茶决定分步说明。

1、用第一行的数据进行解析;

2、FILTER函数将当前的表,复制了一份虚拟表,数据完全一样;

3、筛选虚拟表中**[数据]小于当前行值的数据,此时EARLIER’例子’[数据]**代表当前行值,数值为1;

4、因为当前行值为1,没有比1还小的数值,因此FILTER函数的结果为空表;

5、COUNTROWS函数统计空表值为0,因此第一行根据数据排名为第1。

接着是第二行的逻辑分步说明。

1、用第二行数据继续分析;

2、FILTER继续生成数据相同的虚拟表;

3、筛选**[数据]小于当前行值3的数据,此时EARLIER’例子’[数据]**的值为3。

4、比3小的数据值在此表中只有1。因此FILTER此时返回下表:

5、COUNTROWS统计表行数为1,返回值为2。此行排序为第2。

后面的行以此类推,小伙伴们,明白了没?

例子2:根据“日期值”添加列排名。

日期排序 =
COUNTROWS ( FILTER ( '例子', '例子'[日期] < EARLIER ( '例子'[日期] ) ) ) + 1

结果:

原理同利用**[数据]**值排序一样。

例子3:根据**[数据排序]**计算累加值。

数据排序累加 =
SUMX ( FILTER ( '例子', '例子'[数据排序] <= EARLIER ( '例子'[数据排序] ) ), '例子'[数据] )

结果:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6o8RPfdm-1598059661706)(https://upload-images.jianshu.io/upload_images/19522947-2030a3a10f7dbbe7?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)]

利用**[数据排序]这一列进行逐行累加[数据]**。

例子4:

数据排序2 =
COUNTROWS ( FILTER ( '例子', '例子'[数据] < EARLIEST ( '例子'[数据] ) ) ) + 1

结果:

EARLIEST函数与EARLIER函数的效果是一样的,唯一的区别就是前者只能指定一个外部行上下文,除此之外别无区别。

很多小伙伴在使用这两个函数的时候出错,那么需要核对一下是否是在度量值中使用;

值得一提的是,这两个函数需要扫描数据中的每一行数据,因此运行速度不是那么令人惊喜;

再加上VAR变量的存在,导致这两个函数出场率偏低。

好了,到这里本期就结束了。

小伙伴们❤GET了么?

白茶会不定期的分享一些函数卡片

(文件在知识星球[PowerBI丨需求圈])

这里是白茶,一个PowerBI的初学者。

下面这个知识星球是针对有实际需求的小伙伴,有需要的请加入下面的知识星球。

函数周期表丨筛选丨行值丨EARLIER与EARLIEST相关推荐

  1. 函数周期表丨筛选丨值丨CALCULATE

    ​CALCULATE函数 CALCULATE函数,被微软划分为"筛选"类函数,隶属于"值函数". 如果说ALLSELECTED函数是所有函数中最为复杂的一个,那 ...

  2. 函数周期表丨筛选丨值丨SELECTEDVALUE

    SELECTEDVALUE函数 SELECTEDVALUE函数属于"筛选"类函数,隶属于"表函数". 微软官方介绍是这么说的: 当指定列当前上下文中只有一个非重 ...

  3. 【机器学习】专题学习丨1. 损失函数loss积累丨

    一.超分辨率重建loss 1.感知损失(Perceptual Losses) 论文地址 动机:MSE损失能够取得很高的PSNR,但是对图片高频部分(边缘)会过去平滑,如图: 方法:与比较pixel-w ...

  4. pandas使用groupby函数和count函数返回的是分组下每一列的统计值(不统计NaN缺失值)、如果多于一列返回dataframe、size函数返回分组下的行数结果为Series(缺失值不敏感)

    pandas使用groupby函数和count函数返回的是分组下每一列的统计值(不统计NaN缺失值).如果多于一列返回dataframe.size函数返回分组下的行数结果为Series(不区分缺失值和 ...

  5. R语言使用subset函数基于组合逻辑筛选dataframe符合条件的数据行(select observations)、并指定需要保留的dataframe数据列或者字段

    R语言使用subset函数基于组合逻辑筛选dataframe符合条件的数据行(select observations).并指定需要保留的dataframe数据列或者字段 目录

  6. 迅为-IMX6UL开发板丨双网口丨双CAN总线丨4路USB HOST丨2路串口、6路插座引出,共8路串口丨1路RGB信号丨2路LVDS信号

    迅为iMX6UL开发板多路串口开发平台 迅为i.MX 6UL开发板基于ARM Cortex-A7内核,主频高达528 MHz,内存:512MDDR3 存储:8G EMMC,支持2路CAN,2路百兆以太 ...

  7. 计算机横向查找,Excel查找引用函数:HLOOKUP查找首行并显示指定的值-excel技巧-电脑技巧收藏家...

    Excel查找引用函数:HLOOKUP查找首行并显示指定的值 说明 在表格或数值数组的首行查找指定的数值,并在表格或数组中指定行的同一列中返回一个数值.当比较值位于数据表的首行,并且要查找下面给定行中 ...

  8. 软件删掉的文件怎么恢复丨迅龙恢复软件丨

    软件删掉的文件怎么恢复丨迅龙恢复软件丨 杀毒软件之争,互联网上可是每个消停,今天你指责我流氓,明天我指责你强盗的.都是为了抢占客户嘛,毕竟杀毒软件一般人只会用一款,而且这一用就是好多年.但其实,这些杀 ...

  9. 10年大厂程序员是如何高效学习使用redis的丨redis源码分析丨redis存储原理

    10年大厂程序员是怎么学习使用redis的 1. redis存储原理分析 2. redis源码学习分享 3. redis跳表和B+树详细对比分析 视频讲解如下,点击观看: 10年大厂程序员是如何高效学 ...

  10. SRS流媒体服务器架构设计及源码分析丨音视频开发丨C/C++音视频丨Android开发丨嵌入式开发

    SRS流媒体服务器架构设计及源码分析 1.SRS流媒体服务器架构设计 2.协程-连接之间的关系 3.推流-转发-拉流之间的关系 4.如何手把手调试SRS源码 视频讲解如下,点击观看: SRS流媒体服务 ...

最新文章

  1. COCO KeyPoints关键点数据集准备
  2. 【从零开始自制CPU之学习篇03】锁存器与触发器
  3. 解决执行go get时报错的问题:dial tcp: lookup xxx.com on 8.8.8.8:53: no such host
  4. 回答一个微信好友的创业问题
  5. TRACE (VC)
  6. Java FilterInputStream reset()方法与示例
  7. mysql用的cap中哪两个_分布式事务CAP定理和BASE理论
  8. 问题1:VS2017:找不到 Windows SDK 版本10.0.17134.0
  9. JAVA NIO介绍及使用
  10. 单(两)个正态总体的统计量的分布相关定理
  11. 青岛科技大学计算机一级报名,2019年3月山东青岛科技大学计算机等级考试报名通知...
  12. linux 2048移动代码,2 的威力,Linux 的威力:终端中的 2048
  13. 微信小程序cover-image手机上不显示问题
  14. 肽核酸(PNA)偶联穿膜肽(CCPs)(KFF)3K形成CCPs-PNA|肽核酸的使用方法
  15. CAD教程:CAD软件中怎么将图块改层?
  16. 【基础】(C语言)高精度算法
  17. kafka 命令、API
  18. 后台配置商品规格sku(vue+element)
  19. 执行sh脚本提示“[[: not found”解决方案,bash和sh的区别
  20. 微信小程序云开发入门教程

热门文章

  1. [教程]教你如何制作彩色的3D打印Groot
  2. java后台实现支付宝支付接口、支付宝订单查询接口 前端为APP
  3. 做人最大的无知,是错把平台当本事(深度好文)
  4. 【定量分析、量化金融与统计学】R语言方差分析的outliers陷阱
  5. [论文笔记|VIO]On the Comparison of Gauge Freedom Handling in Optimization-based V-I State Estimation
  6. 计算机中如何隐私保护,隐私保护!我们的电脑该怎么设置开机密码呢?
  7. 思维导图、流程图制作工具ProcessOn的使用
  8. [网络安全学习篇3]:批处理、病毒、用户与组管理、破解系统密码(千峰网络安全视频笔记 3 day)
  9. 大数据运维架构师培训(4):Oozie,Flume,Sqoop,Azkaban,Ranger
  10. 运筹学-2-单纯形法的矩阵计算