最新历史版本 :EARLIER-获取当前行的值(只用于DEF类函数) 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 概述编辑

[helpvideo]5521[/helpvideo]

1.1 版本

FineBI 版本
功能变动
6.0-
6.1.3
公式DEF(COUNTD_AGG(关键节点),[关键节点],[每个节点的客户数>EARLIER(每个节点的客户数)])+1
改成DEF(COUNTD_AGG(关键节点),[关键节点],[每个节点的客户数>=EARLIER(每个节点的客户数)])
7.0EARLIER函数字段列支持数组,可配合 SUB_DIM 使用。详情见:配合DEF+EARLIER实现组内行间计算

1.2 函数简介

EARLIER :获取当前行的值。只能用于 DEF 类函数中,一般用于行间过滤计算。

语法
EARLIER(参数)
获取「当前行」和「参数字段列」交叉的单元格的值
参数字段列参数不支持常量,可以使用引用函数。

1.3 注意事项

问题描述:数据更新时提示更新失败,报错「更新时检测使用到 earlier 函数不等式导致计算数据严重膨胀,操作中止,请检查公式中 earlier 函数,去掉 earlier 的不等式或者控制数据量大小。

原因分析: earlier 函数,对自助数据集存在数据限制,若自助数据集数据量超过 1000000 ,就会出现该报错。

解决方案:换用其他函数,或控制底表数据在1000000以内。

2. 示例-获取错行值编辑

很多时候我们都需要获取错行值,比如计算上一个日期与下一个日期的差,又比如计算上一步数据到下一步数据的转化率。

这里以计算转化率为例,我们需要获取「上一行」的值,便于我们两列相除。

40.png

1)上传示例数据:汽车行业销售漏斗.xlsx

将下载下来的数据上传至分析主题,如下图所示:

2)求每个节点的客户数,添加计算字段,如下图所示:

2024-10-29_11-00-19.png

3)先给这些节点按客户数排个名,由于这些节点有前后关系,客户数越多,说明这些节点越靠前。

2025-09-23_11-19-44.png


公式描述
DEF(COUNTD_AGG(关键节点),[关键节点],[每个节点的客户数>=EARLIER(每个节点的客户数)])
  • 指定维度:关键节点

  • 聚合指标计算:COUNTD_AGG(关键节点)

  • 过滤条件:每个节点的客户数>=EARLIER(每个节点的客户数),意思是过滤出所有客户数大于等于「当前节点客户数」的所有节点。

求得满足客户数大于等于「当前节点客户数」的节点,计算得到节点排名


「排名」拖入分析区域后,可查看「排名」计算结果是否正确。
43.png


4)计算当前节点的上一个节点的客户数,如下图所示:

2024-11-20_17-51-42.png

公式分解
描述
SUM_AGG(客户数)求客户总数
DEF(SUM_AGG(客户数),[关键节点],排名+1=EARLIER(排名))
  • 指定维度:关键节点

  • 聚合指标计算:SUM_AGG(客户数)

  • 过滤条件:排名+1=EARLIER(排名)

过滤条件即为 排名=EARLIER(排名)-1 ,筛选到比「当前行排名」-1的那个节点,获得那个节点的客户数求和

将「上一步的客户数」拖入分析区域,可查看计算结果是否正确。如下图所示:

45.png

5)计算转化率,使用公式:当前客户数/上一步的客户数 ,即可求得。如下图所示:

2024-11-20_17-50-30.png

6)将「转化率」拖入分析区域,并将数值格式改为百分比。如下图所示:

47.png


如此我们便完成了转化率分析