大家好, 我是Spotfire的新手,所以如果有人能指出我正确的方向,那就太棒了。 我有一个具有各种状态的请求ID(主键),并希望找到某些特定状态(例如,提交的请求与已批准的请求)之间的时间差异。除此之外,我想从计算中取消非工作日(周末休息)(如果请求是在星期五提交并在下周一批准,那么差异应该只是1天而不是3天)。
我的数据表结构如下:
非常感谢任何帮助/方向!
谢谢,
更新
我期待的输出将如下所示。对于身份证。 101,提交日期是4月26日,批准日期是5月1日,所以我们从计算中取消周末,同样对于ID 103,请求在周末完成,因此时间花费为0而对于102,我们计算总时间工作日过去了。
答案 0 :(得分:0)
问题分为两部分:
插入新的计算栏([批准日期])
Max(If([Payment_status_code]="STS_APPROVED",[CREATE_TIMESTAMP],null)) OVER ([PAYMENT_REQUEST_ID])
这会将批准的日期添加到每一行。
(我刚刚在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)