유사한 행 삭제ID와 두 값이 이전 행과 동일한 경우 테이블에서 행을 삭제하는 스크립트를 만들려고 합니다. 각 행마다 고유한 "실행 번호" 열이 있기 때문에 모든 중복 행을 삭제할 수 없습니다. 내 코드가 작동하지 않는 이유를 아는 사람이 있나요?
// Delete Duplicate Rows (re-entries)
NRows = N Rows(dt);
For(i = 1, i <= NRows, i++,
If(
dt:ID[i] == dt:ID[i + 1] & Data Table("Sheet1"):value1[i] == dt:value1[i + 1] & dt
:value2[i] == dt:value2[i + 1],
{dt << Delete Rows(i), i--}
)
);
콘텐츠 구성데이터 혼합 및 정리Re: 비슷한 행 삭제스크립트에서 중괄호 안의 이 부분이 문제가 있는 부분이라고 생각합니다(if() 함수는 일반적으로 중괄호를 원하지 않습니다).
{ dt << 행 삭제(i), i --}
즉, JMP에 내장된 중복 항목 선택 기능을 사용하여 원하는 것을 얻을 수 있는 또 다른 더 간단한 방법이 있습니다.
dt << Select Duplicate Rows ({:ID, :Value 1, :Value 2});
dt << delete rows;