Spotfire数据差异:同一列

时间:2017-12-13 10:48:05

标签: date analytics spotfire

我有下表:

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但它不起作用(它产生错误的值)。 我想,也许,这是因为我的表没有排序,但我无法订购,因为我无法访问源数据库。

如何修改该表达式? 谢谢!

瓦伦蒂娜

1 个答案:

答案 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]))))

最终输出:

enter image description here

希望这有帮助!