Spotfire 数据差异:同一列

Spotfire data difference: same column

我有以下 table:

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" 列基于 "Date" 列(最近的日期具有更大的 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

我曾尝试使用此处给出的代码: 但它不起作用(它产生了错误的值)。 我想,也许,是因为我的table没有排序,但是我无法访问源数据库,所以无法排序。

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

瓦伦蒂娜

@V.Ang- 一种方法是添加一列 'decreasing_count'。

它的作用是按日期计算 ID 的实例数。含义 - 具有最高日期的 ID 将首先被计算,然后是具有相同 ID 且日期低于前一个日期的下一个实例,依此类推。此列的优点是,您的数据无需排序即可使此解决方案起作用。

现在,使用此 'decreasing_count' 列计算日期差异。

decreasing_count列表达式:

Count([Claim_id]) over (Intersect([Claim_id],AllNext([Date])))

注意:此栏在后台运行。您不需要在 table

中显示它

天数计算列表达式:

Days([Date] - Min([Date]) over (Intersect([Claim_id],Next([decreasing_count]))))

最终输出:

希望对您有所帮助!