JSL에서 녹음 기능을 자동화하고 싶지만 이를 달성하는 방법에 대한 문서를 찾을 수 없습니다.
이 포럼, JMP 검색 기능 또는 스크립팅 인덱스에는 행운이 없습니다. 워크플로 레코더와 로그 파일은 최종 결과(잠금 테이블)만 가져오며 이는 데이터 테이블 기능에 스크립트 저장과 동일합니다.
가능한 경우 해당 설정 중 일부를 넘겨주지만 첫 번째 단계에서는 중요하지 않습니다.

친애하는
마우로
Choose Closest()를 사용하여 자신만의 그룹을 구축해야 할 수도 있습니다. 동일한 옵션이 대부분 있는 것 같으니 아마도 JMP가 기록하지 않는 비슷한 것을 사용하고 있을 것입니다(기록하지 않는 다른 것들도 많이 있다고 생각합니다).

Choose Closest()를 사용하여 작은 스크립트를 만들었지만 이제 모든 형태의 루프 내에서 한 번만 실행되는 문제가 발생합니다.
기다려도 도움이 되지 않았고 많은 시나리오를 시도했습니다. Choose Closest()를 한 번에 여러 번 실행하면 입력에 관계없이 동일한 문자열이 반환됩니다.
루프 외부에서는 잘 작동합니다.
테스트 설정을 추가하고 JMP 지원팀에서 티켓을 만들겠습니다.
예, 가장 가까운 선택이 루프 내부에 있을 때 이상한 일을 하는 것 같습니다. 예를 들어 루프 내에서 실행되는 경우 abcabca와 abcabca를 일치시키므로 Eval(EvalExpr())을 사용하지 않으면 작동하지 않는 것 같습니다(실패할 때까지 수동으로 실행하면 결과는 괜찮았습니다).
다음은 이와 같은 시도입니다. (그룹 선택 가장 가까운 것을 선택하거나 유사한 것이 Recode의 작업을 수행하는 위시리스트에 좋은 아이디어가 될 것이라고 생각합니다.)
names default to here(1);
dt = Open("$DOWNLOADS/Test_Table.jmp");
dt << new column("Ones", Numeric, Continuous, Set Each Value(1)); // summarize...
Summarize(dt, groups = By(:Column 1), counts = Sum(:Ones));
aa_matches = Associative Array(groups);
groups = groups[Rank(Ranking(counts))];
aa_matches[Reverse(groups)[1]] = Reverse(groups)[1]; // highest is group with itself
str_a = Remove From(groups, 1)[1];
While(N Items(groups) > 0,
Eval(EvalExpr(
str_b = Choose Closest(Expr(str_a), Expr(groups), Ignore Case(1), Ignore Whitespace(1), Ignore Nonprintable(1), Max Edit Count(2), Max Edit Ratio(0.25));
));
aa_matches[str_a] = str_b;
str_a = Remove From(groups, 1)[1];
);
dt << New Column("Recoded", Character, Nominal, Set Each Value(
aa_matches[:Column 1];
));