我有下表:
Id Claim_id Date
4 111 10/08/2017
5 333 27/08/2017
2 111 07/08/2017
3 222 08/08/2017
1 444 03/07/2017
7 333 02/09/2017
6 333 28/08/2017
有更多行(日期)与同一Claim_id相关联;列“Id”基于“日期”列(更近期的日期具有更高的ID)。
我需要创建一个由claim_id上的日期差异给出的计算列,输出如下:
Id Claim_id Date Days
3 111 10/08/2017 3
1 333 27/08/2017
2 111 07/08/2017
4 222 08/08/2017
7 444 03/07/2017
6 333 02/09/2017 5
5 333 28/08/2017 1
我尝试使用此处给出的代码:Spotfire date difference using over function但它不起作用(它产生错误的值)。 我想,也许,这是因为我的表没有排序,但我无法订购,因为我无法访问源数据库。
如何修改该表达式? 谢谢!
瓦伦蒂娜
答案 0 :(得分:1)
@ V.Ang-一种方法是添加一列'decrease_count'。
这样做,它按日期计算ID的实例数。含义 - 首先计算具有最高日期的ID,然后是具有相同ID的下一个实例,其日期低于上一个日期,依此类推。本专栏的优点是,无需对您的数据进行排序,以使此解决方案正常工作。
现在,使用此'decrease_count'列计算日期的差异。
decrease_count列表达式:
Count([Claim_id]) over (Intersect([Claim_id],AllNext([Date])))
注意:此列在后台运行。您无需在表格中显示
天计算列表达式:
Days([Date] - Min([Date]) over (Intersect([Claim_id],Next([decreasing_count]))))
最终输出:
希望这有帮助!