如果同一客户计算价值

时间:2016-08-05 19:55:31

标签: if-statement tableau

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

count_days

DATEDIFF('day',LOOKUP(ATTR([visit_day]),-1),ATTR([visit_day])

结果如下:

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

有关此代码的任何想法,以使其工作?

1 个答案:

答案 0 :(得分:1)

你非常接近。您可以像这样更改计算字段:

IF LOOKUP(ATTR([Customer Id]),-1) = ATTR([Customer Id]) THEN 
   DATEDIFF("day",LOOKUP(ATTR([Visit Day]),-1),ATTR([Visit Day]))
END

它将呈现此结果:

enter image description here