计算时差我有一组 od 数据,在脚本中我称之为 RTDT。它包含 Time、Sub_name 和 Substrate_ID 列。我正在尝试计算第一次和最后一次之间的时间差列出了 Sub_name 和 Substrate_ID。 它们将按顺序列出每个唯一的 Sub_name 和 Substrate_ID。我的代码如下:
RTDT << New Column( "Runtime", Numeric, "Continuous", Format( "h:m:s", 11, 0 ), Input Format( "h:m:s", 0 ), );
SubNameFirst = RTDT:Sub_name( 1 );
SNFirst = RTDT:Substrate_ID( 1 );
TimeFirst = RTDT:Time( 1 );
EOL = N Rows( RTDT );
For( i = 1, i <= EOL, i++,
If( SubNameFirst != RTDT:Sub_name( i ) || SNFirst != RTDT:Substrate_ID( i ),
Formula( RTDT:Runtime( i - 1 ) = (RTDT:Time( i - 1 ) - TimeFirst) );
SubNameFirst = RTDT:Sub_name( i );
SNFirst = RTDT:Substrate_ID( i );
TimeFirst = RTDT:Time( i );
)
);
我得到的所有结果都是“。”。我的时间列格式有问题吗? 我认为 if() 语句永远不会出现,因为我没有得到任何结果或错误。
任何帮助,将不胜感激。谢谢
附数据表。
Re: 计算时差你是一个真正的现象。不是软件工程师,我花了几个小时尝试做我所做的事情,而你用一个方程式解决了它。惊人的。谢谢你。
Re: 计算时差您似乎有语法问题。您正在使用 () 进行下标,而您应该使用 []。还有,你好像。
我认为你的 Runtime 专栏需要的唯一公式是:
Col Max( :Time, :Sub_name, :Substrate_ID )
-Col Min( :Time, :Sub_name, :Substrate_ID )
RTDT << New Column( "Runtime",
Numeric,
"Continuous",
Format( "h:m:s", 11, 0 ),
Input Format( "h:m:s", 0 ),
formula( Col Max( :Time, :Sub_name, :Substrate_ID ) - Col Min( :Time, :Sub_name, :Substrate_ID ) )
);