If statement 计算同一客户的价值

If statement 计算同一客户的价值,if-statement,tableau-api,If Statement,Tableau Api,我有以下代码来计算天数: 计算天数: 结果如下: customer_id | visit_day | count_days customer 1 | 1/1/2016 | customer 2 | 1/3/2016 | 2 customer 2 | 1/15/2016 | 12 customer 3 | 2/1/2016 | 16 customer 3 | 2/5/2016 | 4 我正在尝试编写另一个函数,该函数仅由客户启动前一个函数,因此一个客户的第一天不会被前一个客户

我有以下代码来计算天数:

计算天数:

结果如下:

customer_id | visit_day | count_days
customer 1  | 1/1/2016  | 
customer 2  | 1/3/2016  | 2
customer 2  | 1/15/2016 | 12
customer 3  | 2/1/2016  | 16
customer 3  | 2/5/2016  | 4
我正在尝试编写另一个函数,该函数仅由客户启动前一个函数,因此一个客户的第一天不会被前一个客户的最后一天减去。结果应该是这样的:

customer_id | visit_day | count_days
customer 1  | 1/1/2016  | 
customer 2  | 1/3/2016  |
customer 2  | 1/15/2016 | 12 
customer 3  | 2/1/2016  | 
customer 3  | 2/5/2016  | 4
到目前为止,我已尝试过此代码:

IF ATTR([customer_id]) != ATTR([customer_id])
THEN
   NULL
ELSE
   [count_days]
END

你对这段代码有什么想法吗?

你很接近了。您可以按如下方式更改计算字段:

IF LOOKUP(ATTR([Customer Id]),-1) = ATTR([Customer Id]) THEN 
   DATEDIFF("day",LOOKUP(ATTR([Visit Day]),-1),ATTR([Visit Day]))
END
它将呈现以下结果:


我差点就拿到了。虽然我对Tableau还不熟悉,但我正在努力。非常感谢您的解决方案。
IF LOOKUP(ATTR([Customer Id]),-1) = ATTR([Customer Id]) THEN 
   DATEDIFF("day",LOOKUP(ATTR([Visit Day]),-1),ATTR([Visit Day]))
END