안녕 모두,
여러 행 (일괄 처리)이 단일 작업 순서와 단일 출력에 병합되는 Excel 데이터 세트로 작업하고 있습니다. JMP에서 병합 된 셀과 모든 행은 나뉘지만 yield 및 scrap 열은 각 작업 순서에 대한 올바른 값으로 채워집니다.
누락 된 값을 해당 작업 지시의 yield 값으로 채워야합니다. 예제 데이터 테이블을 첨부했습니다.
새 열을 만들고 지연 조건문을 사용하여이 작업을 수행 할 수 있지만 새로운 열을 추가하지 않고이 작업을 수행하려고합니다.
// 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]
)
);