计算 Spotfire 中同一列的时间差
calculate the time difference for same column in Spotfire
我是 Spotfire 的初学者。我对某些列值的差异计算有疑问。示例 table 可能是这样的:
id timestamp state
1 7/1/2016 12:00:01 AM 1
2 7/1/2016 12:00:03 AM 0
3 7/1/2016 12:00:04 AM 1
4 7/1/2016 12:00:06 AM 0
5 7/1/2016 12:00:09 AM 1
6 7/1/2016 12:00:10 AM 0
7 7/1/2016 12:00:12 AM 1
我想计算状态为1时时间戳的时间差,
最后 table 我想要的是:
id timestamp state time_diffence
3 7/1/2016 12:00:04 AM 1 3
5 7/1/2016 12:00:09 AM 1 5
7 7/1/2016 12:00:12 AM 1 3
看来我应该确定一个用于计算的表达式,但我不知道如何计算一个参数:(。有人可以帮我吗?
还有一个小问题:如果timestamp列的值只是number值,如何计算差值,这里有没有类似DateDiff()的相关函数?例如:
id times state
1 12 1
2 7 0
3 10 1
4 11 0
5 6 1
6 9 0
7 7 1
结果可能是:
id times state diffence
3 10 1 -2
5 6 1 -4
7 7 1 1
在 运行 代码之后:我有如下错误:
如果该行与前一行具有相同的时间戳,则差异将与之前相同,但实际上具有相同时间戳的行的差异将为 0
感谢您的帮助:)
假设您的数据在导入之前按 [timestamp]
升序排序,您可以使用 Previous
函数和 Over
进行分区,其中 [state]=1
。
使用此表达式插入计算列:
If([state]=1,DateDiff("ss",Min([timestamp]) OVER (Previous([timestamp])),[timestamp]))
您会看到它填充在您的 table 中,如下所示:
然后,如果您只想查看与您提到的不同的行,在您的 table 上,您可以...
Right Click > Properties > Data > Limit data using expression >
并插入表达式:[time_difference] > 1
这将导致 table:
我是 Spotfire 的初学者。我对某些列值的差异计算有疑问。示例 table 可能是这样的:
id timestamp state
1 7/1/2016 12:00:01 AM 1
2 7/1/2016 12:00:03 AM 0
3 7/1/2016 12:00:04 AM 1
4 7/1/2016 12:00:06 AM 0
5 7/1/2016 12:00:09 AM 1
6 7/1/2016 12:00:10 AM 0
7 7/1/2016 12:00:12 AM 1
我想计算状态为1时时间戳的时间差, 最后 table 我想要的是:
id timestamp state time_diffence
3 7/1/2016 12:00:04 AM 1 3
5 7/1/2016 12:00:09 AM 1 5
7 7/1/2016 12:00:12 AM 1 3
看来我应该确定一个用于计算的表达式,但我不知道如何计算一个参数:(。有人可以帮我吗?
还有一个小问题:如果timestamp列的值只是number值,如何计算差值,这里有没有类似DateDiff()的相关函数?例如:
id times state
1 12 1
2 7 0
3 10 1
4 11 0
5 6 1
6 9 0
7 7 1
结果可能是:
id times state diffence
3 10 1 -2
5 6 1 -4
7 7 1 1
在 运行 代码之后:我有如下错误:
如果该行与前一行具有相同的时间戳,则差异将与之前相同,但实际上具有相同时间戳的行的差异将为 0
感谢您的帮助:)
假设您的数据在导入之前按 [timestamp]
升序排序,您可以使用 Previous
函数和 Over
进行分区,其中 [state]=1
。
使用此表达式插入计算列:
If([state]=1,DateDiff("ss",Min([timestamp]) OVER (Previous([timestamp])),[timestamp]))
您会看到它填充在您的 table 中,如下所示:
然后,如果您只想查看与您提到的不同的行,在您的 table 上,您可以...
Right Click > Properties > Data > Limit data using expression >
并插入表达式:[time_difference] > 1
这将导致 table: