大家好,
我正在處理一個 excel 數據集,其中為單個工作訂單和單個產量合併了多行(批次)。 進入 JMP 後,合併單元格將拆分,並且除了產量和報廢列之外的每一行都填充了每個工作訂單的正確值。
我需要用該工單的產出值填充缺失值。 我附上了一個示例數據表。
我可以通過創建一個新列並使用帶滯後的條件語句來做到這一點,但我想在沒有新列的情況下做到這一點。
// example of populating missing values with new column
dt << new column("test", numeric, continuous, set each value(if( :WorkOrder == lag(:WorkOrder,1)& is missing(:yield),:yield= lag(:yield,1),:yield)));我的第一個想法是使用 for 循環,但我遇到了麻煩。 下面的腳本運行但不會填充任何數據來代替缺失值。 有人可以建議一個更好的方法嗎?
dt = current data table();
n=nrows(dt);
for(i=0,i<=n, i++,
if( :workorder == lag(:workorder,1)& is missing(:yield),:yield= lag(:yield,1),:yield)
);
在腳本中,使用 For() 循環時,您需要使用下標指定行。見下文
Names Default To Here( 1 );
dt = Current Data Table();
For( i = 2, i <= N Rows( dt ), i++,
If( :workorder[i] == :workorder[i - 1] & Is Missing( :yield[i] ),
:yield[i] = :yield[i - 1]
)
);