[函数大全] EARLIER

  [复制链接]
查看126826 | 回复128 | 2021-2-21 21:40:13 | 显示全部楼层 |阅读模式
使用之前的行上下文而不是最后一个行上下文检索列的值。

语法
  1. EARLIER ( <列名>, [<数字>] )
复制代码
参数属性描述
列名包含所需值的列
数字可选要检索的上下文的层数,默认值 1

返回值

标量 一个任意类型的值


按数字检索的第 N 层外部行上下文处的列值

备注

EARLIER 需要在开始扫描表之前存在行上下文,否则它将返回错误。


EARLIER 在执行时虽然在引擎内部会进行一些优化,但仍可能比较缓慢,因为从理论上讲,它可能需要执行大量操作,操作次数接近于总行数(列中)乘以相同数字(具体数值因表达式的语法而异) 。 例如,如果列中有 10 行,则可能需要大约 100 次操作;如果有 100 行,则可能会执行接近 10,000 次操作。
建议使用变量(VAR)代替 EARLIER 保存外层行上下文的值,以便在后续计算时引用
示例

以下公式创建了一个新的计算列 SubCategorySalesRanking ,计算产品子类别的排名
  1. Ranks :=
  2. COUNTROWS (
  3.     FILTER (
  4.         ProductSubcategory,
  5.         EARLIER ( ProductSubcategory[Sales] ) < ProductSubcategory[Sales]
  6.     )
  7. ) + 1
复制代码

扩展阅读:

行上下文嵌套和EARLIER
同一张表有多层嵌套的行上下文似乎很少见,但实际上这种情况经常发生。让我们用一个例子来解释这个概念。假设你想针对每个产品计算价格高于它的其他产品的数量。本质上这将根据价格对产品进行排序。
[url=search.php?mod=forum&srchtxt=&searchsubmit=true][/url]
回复

使用道具 举报

zihan | 2021-4-25 06:06:15 来自手机 | 显示全部楼层
小白一个 顶一下
回复

使用道具 举报

likk079 | 2021-6-17 17:47:00 来自手机 | 显示全部楼层
支持支持再支持
回复

使用道具 举报

heaton | 2021-8-10 17:27:58 来自手机 | 显示全部楼层
不错 支持下
回复

使用道具 举报

thwb | 2021-8-20 18:53:13 | 显示全部楼层
支持一下云发教育!
回复

使用道具 举报

B仔爱玉米 | 2021-9-17 21:00:59 | 显示全部楼层
向楼主学习
回复

使用道具 举报

一达 | 2021-10-20 12:35:19 | 显示全部楼层
努力~~各位。。。
回复

使用道具 举报

kawai32 | 2021-10-27 14:05:40 | 显示全部楼层
我也是坐沙发的
回复

使用道具 举报

kbcts | 2021-11-7 09:58:33 | 显示全部楼层
楼主呀,,,您太有才了。。。
回复

使用道具 举报

高尔夫1.8t | 2021-11-22 16:23:39 来自手机 | 显示全部楼层
一直在看
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则