대부분의 초기 값을 유지하면서 JSL로 기록안녕,
확률이 포함된 열이 있습니다. 대부분 이것은 0과 1 사이의 숫자입니다. 그러나 100% 확률의 경우 1 대신 100을 얻었습니다. 문제를 해결하려는 내 생각은 단순히 녹음 기능을 사용하고 "100"의 모든 항목을 "1"로 바꾸는 것이었습니다. ".
내가 사용하고 있는 코드는 다음과 같습니다.
dt << Recode Column (
:"probability"n,
{IF( _rcNOW == 100, 1)},
Target Column (:"probability"n)
);이것은 부분적으로 작동하지만 문제는 확률이 < 100인 모든 경우에 업데이트된 열이 비어 있다는 것입니다. 그 이유는 IF 문이 해당 경우에 무엇을 해야 할지 모르기 때문입니다. 이 경우 원래 값을 유지해야 한다고 말할 수 있는 방법이 있나요?
자동화 및 스크립팅데이터 혼합 및 정리Re: 대부분의 초기 값을 유지하면서 JSL에서 기록JMP에서 대화형으로 수행하면 JMP가 스크립트를 생성해 줍니다. 예를 들어 테이블이 있습니다.

그리고 100을 1로 바꾸고 싶습니다.


JMP가 스크립트를 생성합니다.

그리고 그것을 정리하고 약간 수정하면 다음과 같이 보일 수 있습니다.
dt << Recode Column(
dt:Prob,
{Map Value(_rcOrig, {100, 1}, Unmatched(_rcNow))},
Target Column(:Prob)
);
JMP는 기본적으로 JSL을 작성하지 않고도 이 스크립트를 만들었습니다.
Re: 대부분의 초기 값을 유지하면서 JSL에서 기록완벽하게 작동해주셔서 감사합니다! (그리고 뒤늦게 보면 분명해 보입니다).
실제로 문제 없이 대화식으로 실행할 수 있고 다른 파일에서 실행해야 할 수도 있으므로 스크립팅 솔루션을 선호합니다.
"지도 값"이란 무엇을 의미합니까? (아니면 대화형 접근 방식인가요?)
Re: 대부분의 초기 값을 유지하면서 JSL에서 기록else 문에 _rcNOW를 사용할 수 있다고 생각합니다.
dt << Recode Column(
:"probability"n,
{If(_rcNOW == 100,
1
, _rcNOW
)},
Target Column(:"probability"n)
);
그러나 100을 1로 변경하려는 경우 Map Value(가장 기본적인 녹음 작업)를 사용하는 것이 더 쉬울 수 있습니다. 내 생각엔 Recode 메뉴에서 대화형으로 이 작업을 수행할 수 있을 것 같습니다.