編寫循環腳本(可能是雙循環)你好,
我需要一些幫助來為客戶構建腳本(請參見附件)。
他想在JMP中自動計算“相對時間”列(而此處是在Excel中離線計算)。
對於每個“批號”,當“新批觸發器” = 1時,相應行的“日期/時間”用作參考(將其設置為“ 0”),並且“相對時間”計算為[日期/時間i-日期/時間參考]。
我還不是真的“流利的腳本”,任何幫助將不勝感激。
謝謝你。
伊曼紐爾
回复:編寫循環腳本(可能是雙循環)嗨,伊曼紐爾,
最簡單的方法是使用列公式進行交互。
- 首先,編輯新批次標記已有的列公式,以允許第一行。 我們也希望此處的值等於1。 然後,對於第一行和任何符合“新批次”條件的行,我們將具有1。 (請參閱下面的公式圖像。)
- 為“新批次”行的累加總和添加列轉換。 這樣的效果是為每個批次編號,並允許分組。 (請參閱第二個公式屏幕截圖和數據表屏幕截圖以查看編號)
- 添加一個公式列以計算時間與列最短時間之間的時差,按您在上面的第一步中添加的行進行分組(請參閱第3個公式屏幕截圖和數據表屏幕截圖,以將每個新組的相對時間重置為0)。




如果客戶堅持使用腳本編寫腳本,則可以使用以下腳本,該腳本可以修復“新批處理觸發器”列中的公式,並在上表中添加最後兩列。
Names Default To Here( 1 );
dt = Current Data Table();
dt:New Batch Trigger << formula( If( Row() == 1 | Dif( :Temperature C in °C, 1 ) + Dif( :Temperature B in °C, 1 ) < -60, 1, 0 ) );
dt << New Column( "Batch Group", formula( Col Cumulative Sum( :New Batch Trigger ) ) );
dt << New Column( "Rel time within group", formula( :"Date/Time"n - Col Minimum( :"Date/Time"n, :batch group ) ) );
附表。
乾杯,
布雷迪
回复:編寫循環腳本(可能是雙循環)你好布雷迪,
謝謝你。 我還是有點困惑,因為它與他們自己的“相對時間”列無關。 我認為問題出在以下事實:他們的參考行位於批次的“中間”,因此存在“相對時間”為負數。
伊曼紐爾