計算時差我有一組 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 ) )
);