열을 변수로 사용할 때 반복되는 문제dt라는 테이블이 있고 많은 열이 있습니다. 특정 열에서 누락된 부분을 찾아 "N"으로 채우고 싶습니다. 아래는 내 스크립트이지만 col[i] 변수가 작동하지 않습니다.column(dt, col[i])을 column(dt, col[i])로 교체하려고 시도했지만 작동하지 않습니다. 그러나 as column(dt, col[i])을 실제 열 이름(예: :A)으로 바꾸면 스크립트가 작동합니다. 내 실수가 어디에 있습니까?
col={"A", "B", "C", "D", "E"};
For( i = 1, i<= N Items( col ), i++,
empty_rows = dt << get rows where (is missing(as column(dt, col[i])));
if (nrows(empty_rows) > 0,
as column(dt, col[i])[empty_rows] = "N";
);
);스크립팅Re: 열을 변수로 사용할 때 문제가 반복됩니다.코드가 제대로 작동합니다.주어진 데이터 테이블

코드 사본 실행
names default to here(1);
dt=current data table();
col={"A", "B"};
For( i = 1, i<= N Items( col ), i++,
empty_rows = dt << get rows where (is missing(as column(dt, col[i])));
if (nrows(empty_rows) > 0,
as column(dt, col[i])[empty_rows] = "N";
);
);
결과는 다음과 같습니다.

문제는 A,B,C,D,E 열이 숫자인 경우 셀에 문자 값을 배치할 수 없다는 것입니다.JMP는 이를 누락된 값 "."으로 변환합니다.
Re: 열을 변수로 사용할 때 문제가 반복됩니다.안녕하세요 짐,
도움을 주셔서 감사합니다.
여러 번 시도했지만 여전히 작동하지 않습니다. 코드에 대한 유효성 검사 후. JMP를 닫았다가 다시 열기로 결정했습니다. 이번에는 작동 중입니다. 캐시 문제로 인한 것인지 궁금합니다. JMP를 다시 시작하지 않고 jmp 캐시를 정리하는 방법이 있습니까? 내 가정이 틀릴 수도 있지만 누구든지 제안할 수 있으면 도움이 될 것입니다.
Re: 열을 변수로 사용할 때 문제가 반복됩니다.전체 코드를 보지 않고 dt 변수에 문제가 있을 수 있습니다. 일반적으로 다음으로 JSL 스크립트를 시작하는 것이 좋습니다. 기본 이름은 Here(1);입니다. 이렇게 하면 확인되지 않은 이름을 Here 네임스페이스에 저장할 수 있습니다.
Delete Symbols(), Delete Globals()를 사용하여 변수를 지울 수 있으며 때로는 일부 네임스페이스도 지워야 할 수 있습니다.
Loc 및 데이터 테이블 첨자를 사용하여 빈 값을 변경하는 다른 옵션도 있습니다.
Names Default To Here(1);
dt = Current Data Table();
col = {"A", "B"};
For(i = 1, i <= N Items(col), i++,
empty_rows = Loc(dt[0, col[i]], "");
If(N Rows(empty_rows) > 0,
dt[empty_rows, col[i]] = "N";
);
);