Spotfire中根据ID计算时差

Calculate time difference based on ID in Spotfire

大家好, 我是 Spotfire 的新手,所以如果有人能指出我正确的方向,那就太好了。 我有一个具有各种状态的请求 ID(主键),并且想找出某些特定状态(例如,请求已提交与请求已批准)的时间差异。除此之外,我想从计算中扣除非工作日(周末休息)(如果请求在周五提交并在下周一获得批准,那么差异应该只是 1 天而不是 3 天)。

我的数据table结构如下:

任何 help/direction 将不胜感激!

谢谢,

更新

我期望的输出如下所示。对于身份证。 101,提交日期是 4 月 26 日,批准日期是 5 月 1 日,所以我们从计算中扣除了周末,同样对于 ID 103,请求是在周末完成的,所以时间花费是 0 而对于 102,我们计算了总时间经过的工作日。

问题分为两部分:

1。匹配不同行的日期

插入新的计算列([批准日期])
Max(If([Payment_status_code]="STS_APPROVED",[CREATE_TIMESTAMP],null)) OVER ([PAYMENT_REQUEST_ID])
这将为每一行添加批准日期。

2。计算工作日数

(我刚刚从 here 复制了 # 之间的公式,根据需要替换列名)

If([Payment_status_code]="STS_RECEIVED",#if(dayofyear([START DATE])=dayofyear([END DATE]),0,(Integer(DateDiff("day",[START DATE],[END DATE]) / 7) * 5) + DayOfWeek([END DATE]) - DayOfWeek([START DATE]) + (if((DayOfWeek([END DATE]) - DayOfWeek([START DATE]))<0,5,0)))#,null)