目标结果:
我将公式用于新列:
previousTaskName = var previous = CALCULATE (
FIRSTNONBLANK (Process[PYTASKNAME];"");
FILTER (
Process;
Process[PXHISTORYFORREFERENCE] = EARLIER(Process[PXHISTORYFORREFERENCE])
&& Process[PXTIMECREATED] > EARLIER(Process[PXTIMECREATED])
)
)
return
IF (ISBLANK(previous); BLANK(); previous)
实际结果:
有人可以告诉我我在哪里犯错吗?
答案 0 :(得分:0)
该上下文中的EARLIER函数引用当前行中的值,因此您可能需要将>更改为<。
FIRSTNONBLANK函数还将使用字段排序顺序为您提供第一个值-在您的情况下可能是字母顺序的。因此,对于更复杂的测试用例,任何先前带有Agreement的行都将产生Agreement-这可能不是您想要的。
您可能想要创建另一个中间VAR来捕获先前行集中的MAX(Process [PXTIMECREATED]),然后编写另一个CALCULATE ... FILTER以从最近的先前行中返回PYTASKNAME。
如果您将EARLIER函数替换为更多VAR定义(例如,
VAR vPXHISTORYFORREFERENCE = [PXHISTORYFORREFERENCE]