对指定行进行上下文操作 ,比如分析数据的每一行、提取某一行的数据。

二、语法:

在这里插入图片描述
说明:
1.第一个参数是列名
2.第二个参数一般可省略
3.EARLIER 函数提取本行对应的该列的值,实际上就是提取本行和参数列交叉的单元格

三、案例分析:

有一张订单表:
在这里插入图片描述
利用 EARLIER 做以下几种分析:
1.求两个订单的时间间隔:下一个订单的日期减去当前订单的日期

步骤1:新建列[下个订单日期],先把下一行的订单日期提取过来,输入 DAX 公式:
= SUMX(FILTER(‘订单表’,‘订单表’[序号]=
EARLIER(‘订单表’[序号])+1),
‘订单表’[订单日期])

理解:利用 EARLIER 获取当前行的序号,然后找到当前序号+1 的那一行的订单日期,先获得本行的记录,然后做各种聚合预算,本行的记录可以称为行上下文

结果:
在这里插入图片描述
步骤2:新建一列,用两列日期相减得到间隔的天数:
间隔 = IF([下个订单日期]=BLANK(),
BLANK(),
[下个订单日期]-[订单日期])

理解:这里用 IF 判断主要因为最后一列为空值,避免出现不合理的数值

结果:
在这里插入图片描述
2.求每个订单日期的累计销售金额:
步骤1:新建列[累计销售额],
= SUMX (FILTER(‘订单表’,‘订单表’[序号]<=EARLIER(‘订单表’[序号])),
‘订单表’[销售金额])

理解:利用 EARLIER 求当前行的序号,然后把小于等于当前序号的所有行的销售额累加,先获得本行的记录,然后做各种聚合预算,本行的记录可以称为行上下文

结果:
在这里插入图片描述
3.求截至目前订单,每种产品的销量:
步骤1:新建列[产品累计销量],
= SUMX(FILTER(
‘订单表’,‘订单表’[序号]<=EARLIER(‘订单表’[序号])
&&‘订单表’[产品名称]=EARLIER(‘订单表’[产品名称])),
‘订单表’[销售数量])

理解:不仅利用 EARLIER 筛选小于当前行的序号,还利用它求得当前行的产品名称,然后同时符合这两个条件的销量才累加,先获得本行的记录,然后做各种聚合预算,本行的记录可以称为行上下文

本课程是 Power BI 系列课程之DAX 函数 专题讲解,包含以下内容 1.  DAX 函数 基础知识什么是DAX 函数 数学 函数 :ABS、DIVIDE、MOD、RAND、ROUND、FIXED等日期和时间 函数 : CALENDAR、CALENDARAUTO、MONTH、Y EAR 、DATE、DT等信息 函数 :USERNAME、USERPRINCIPALNAME、HASONEFILTER、HASONEVALUE、ISFILTERED、ISCROSSFILTERED、ISINSCOPE、ISBLANK、SELECTEDMEASURE、SELECTEDMEASURENAME等逻辑 函数 :AND、OR、IF、IFERROR、SWITCH、TRUE、FALSE、COALESCE(官方文档含糊不清-结合实例)等关系 函数 :CROSSFILTER、RELATED、RELATEDTABLE等筛选器 函数 :FILTER、CALCULATE、ALL、ALLEXCEPT、ALLSELECTED、 EAR LIER 、KEEPFILTERS、REMOVEFILTERS、SELECTEDVALUE、LOOKUPVALUE等父子 函数 :PATH、PATHCONTAINS、PATHITEM、PATHLENGTH等统计 函数 :AVERAGE、COUNT、MAX、MIN、SUM等迭代统计 函数 :AVERAGEX、COUNTX、MAXX、MINX、SUMX、RANKX等表 函数 : FILTERS 、ADDCOLUMNS、 SELECTCOLUMNS、 CROSSJOIN、 EXCEPT、 GENERATE、 GROUPBY、 SUMMARIZE、 SUMMARIZECOLUMNS、 TOPN、 TREATAS、 UNION、 VALUES、DISTINCT、DATATABLE、NATUALINNERJOIN、NATRUALLEFTOUTERJOIN等文本 函数 : EXACT、MID、 FIND、 LEN、 REPT、 LOWER、 UPPER、 UNICHAR等时间智能 函数 :DATEADD、DATESMTD、FIRSTDATE、LASTDATE、SAMEPERIODLASTY EAR 等财务 函数 :2020.7之后发布的,和Excel中财务 函数 相似,网页和demo p bi x简单介绍其他 函数 :BLANK、ERROR、IFERROR等 DAX 函数 初体验:Max、Sum、Divide、if、Values等值 函数 函数 以及表和列的概念DAX 函数 术语、语法、运算符DAX运算符和引擎中字母大小写问题DAX编程注释和快捷键DAX与Excel 函数 的共同点和区别(PPT)DAX、xmSQL与SQL表达式的区别(PPT)DAX 函数 的自学途径 2. Power BI 中数据建模知识维度建模关系传递和交叉筛选器方向-理解表关系(1v1, 1vM, Mv1,MvM)两个方向上应用安全筛选器关闭关系自动检测新建计算列新建度量值新建计算表:辅助表(五种方式)、日历表数据类型讲解数据格式控制:%、$、千位分隔符、小数位、日期格式Format 函数 自定义数据格式Convert 函数 做数据类型转换解决中文数字单位 万 的显示问题Date和DT 函数 定义固定日期值显示和隐藏列DAX代码分析器阅读DAX表达式方法:从上至下、由内到外(注意Calculate的计算顺序)调试DAX表达式方法:分布输出或VAR输出3.  DAX 函数 原理 Vertipaq列式数据库原理理解度量值和计算列理解行上下文和筛选上下文:Calculate示意图行上下文中使用VAR替代 EAR LIER VAR变量在定义时的上下文中计算VAR变量是采用惰性计算(使用时计算)理解扩展表和RELATED 函数 理解数据沿袭Lineage 4.  开始感知DAX 函数 的强大DAX 函数 实现特殊符号的使用DAX 函数 实现切片器默认当前月或天DAX 函数 使切片器默认代表无任何选择DAX 函数 使切片器仅显示有数据的选项DAX 函数 使切片器反向筛选和计算DAX 函数 使切片器之间取并集DAX 函数 使关系中多端的切片器筛选一端的切片器 DAX 函数 实现年月共同决定数据排序DAX 函数 实现动态图表标题DAX 函数 实现动态图表配色和图标DAX 函数 实现动态纵坐标DAX 函数 实现动态横坐标5.  理解重点DAX 函数 重中之重FILTER 和 CALCULATE和CALCULATETABLE详解调节器REMOVEFILTERS和ALL、ALLEXCEPT 函数 调节器ALL、ALLSELECTED和ISINSCOPE占比分析调节器AllSELECTED和KEEPFILTERS的比较调节器USERELATIONSHIP激活关系调节器TREATAS动态建立关系调节器CROSSFILTER改变筛选器方向重点之ISFILTERED和ISCROSSFILTERED重点之HASONEVALUE和ISINSCOPE的区别重点之表 函数 SELECTEDCOLUMNS和ADDCOLUMNS重点之表 函数 NATUALINNERJOIN和NATRUALLEFTOUTERJOIN重点之表 函数 FILTERS和VALUES比较重点之VALUES和DISTINCT的区别重点之分组 函数 SUMMARIZECOLUMNS详解重点之 函数 LOOKUPVALUE vs RELATED vs VLOOKUP 重点之集合 函数 UNION、INTERSECT、EXCEPT重点之集合 函数 CROSSJOIN和GENERATE 笛卡尔积重点之值合并、列合并、表合并CONCATENATEX重点之BLANK行产生的原因和BLANK相关 函数 重点之COALESCE 函数 处理空重点之FIRSTNOBLANK和FIRSTNOBLANKVALUE 函数 重点之使用VAR变量表中的列重点之Error和IfError 函数 6.  实际案例-日期时间和时间智能相关关键点-日期表和事实表关联问题时间智能-同比环比分析时间智能-累计聚合、滚动聚合、移动平均时间智能-期初期末库存分析日期分析-计算任意所选月份的环比日期分析-周的同比环比和周聚合日期分析-指定月份的同比环比和季度环比日期分析-计算季末或季末月份的数据日期分析-趋势图中根据最近月份取TopN日期分析-动态指定某个日期区间分析日期分析-动态任意区间段做数据对比日期分析-实现两个日期列的范围筛选日期分析-按工作日计算日期差日期分析-计算最近两次购买日期差日期分析-根据历史数据做销售预测日期时间 函数 和时间智能 函数 使用总结7.  实际案例-DAX 函数 进阶进阶-解决列排序对计算的影响进阶-实现切片器筛选之间的OR逻辑进阶-矩阵Matrix中高亮显示最大值最小值进阶-DAX列转行 vs 矩阵列转行和逆透视进阶-非日期类型的累计聚合进阶-排名逻辑的4种实现-RANKX详解进阶-分组内排名的实现和理解迭代 函数 进阶-TopN/BottomN和Others的实现进阶-TopN中实现动态指标进阶-TopN中实现N的动态进阶-分组内动态TopN和Others 进阶-商品折上折-迭代 函数 SUMX详解 进阶-分析客户购买行为进阶-找出无购买行为的客户进阶-客户购买商品关联度分析 进阶-新客户分析进阶-流失客户分析进阶-回流客户分析进阶-客户购买频次和区间分析进阶-RFM客户价值分析进阶-帕累托分析进阶-盈亏平衡分析报表性能优化思路(PPT)   度量值概念 度量值就是对表中数据求和、最大、平均等。如果想获取所有销售数量的最大、最小,在Excel中也非常方便来做,但是如果想获取某天销售额的最大、最小,就不是很方便了,可以使用 Power BI 。 创建度量值 度量值一般都放到一张表中。 点击【输入数据】,将表名称修改为度量值,则在字段菜单可以看到有一 函数 作用:返回提及的列的外部计算传递中指定列的当前值,能够定位每个当前的单元格。 应用场景:在想要使用某个值作为输入并且基于该输入进行计算的嵌套计算中, EAR LIER 会很有用。简单来说, EAR LIER 函数 与FLITER 函数 组合可以实现类似于循环计算的功能。 特别注意点: EAR LIER () 函数 一般用于生成新的列,而非用于度量值的建立。 示例1:用来确定表一中每个人的分数排在第几。表格如下,新建列, 感谢微信公众号: power bi 星球.本文的案例来源于 power bi 星球,我在这里结合 power bi 星球对于 ear lier 函数 的讲解,融合了我自己对于 ear lier 函数 的理解,希望用更傻瓜的方式来讲解 ear lier 函数 . Ear lier 函数 之累计求和、累计百分比 帕累托法则往往称为二八原理,即百分之八十的问题是百分之二十的原因所造成的。在帕累托图中,不同类别的数据根据其频率降序排列的,并在同一张图中画出累积百分比图。帕累托图可以体现帕累托原则:数据的绝大部分存在于很少类别中,极少剩下的数据分散在大部分类别中。这两组经常被... 想知道某一段时间内某产品或者某类别的销售贡献。 品类的管理 等等,这些的分析维度里都可以涉及到累计销售这一概念,那么再 power bi 里如何求得累计销售呢?以下为常用到的两个方法利用 ear lier 函数 和dax计算得出 初学 power bi 的同学可以考虑使用方法一,简单并且容易理解。  方法一 利用 ear lier 函数 利用行上下文嵌套做出相互对应的筛选 引用@ Power Query的例子并给予个人理解 X1= SUMX(FILTER('Data','Data'[订单日期]> EAR LIER ('Data'[订单日期])),[金额])---WRONG X2=CALCULATE(SUM(Data[金额]),FILTER(Data,SUMX(FILTER('Data','Data'[订单日期]> EAR LIER ('Data'[订单日期])),[金额])))---RIGHT X1报错原因:表被扫描前没有创建行上下文。当 EAR LIER / EAR LIEST 函数 前面利用 Power BI 数据分析 的时候都是对整列的字段进行 操作 ,并没有做更细化的分析,比如分析数据的每一行、提取某一行的数据,这在Excel中很容易实现,因为Excel公式是对单元格 操作 。那么在 Power BI 中能不能按行分析呢,答案当然是肯定的,并且比Excel更加灵活,借助这个 函数 : EAR LIER . EAR LIER 语法 EAR LIER (<column>, <number>)第...