0

我正在尝试使用 Spotfire 中的计算列来计算单个时间序列 ID (Z) 的一阶导数 (x,y)

我的数据看起来像这样

x,y,z
0,0,A
1,1,A
2,1.5,A
3,1,A
4,1,A
5,.9,A
6,.5,A
7,.1,A
8,1.1,A
9,11,A
1,1,B
2,1.5,B
3,1,B
4,1,B
5,.9,B
6,.5,B
7,.1,B
8,1.1,B
9,11,B
10,12,B

我正在使用这个:

([y] - Min([y]) OVER (Previous([x])))
/ 
([x] - Min([x]) OVER (Previous([x]))) 

但是(1)看起来不对;和(2)然后我如何在每个 [Z] 上执行此操作

4

1 回答 1

0

这应该有效:

([y] - min([y]) Over (Intersect([z],Previous([x])))) / ([x] - min([x]) Over (Intersect([z],Previous( [X]))))

但是,对于每个 z,第一个点都是空白的,如果您的数据有很多振荡,它可能不是很稳定。对于更复杂的选项,您可以查看样条曲线(请参阅许多 SO 答案)并为计算列使用 TERR 函数(不是数据函数,以 TERR_ 开头的函数,如果它们可供您使用)。

盖亚

于 2019-04-03T08:39:06.123 回答