JSL で再コード機能を自動化したいのですが、それを実現する方法に関するドキュメントが見つかりません。
このフォーラム、JMP 検索機能、スクリプト インデックスでは運がありませんでした。ワークフロー レコーダーとログ ファイルは最終結果 (ロックアップ テーブル) のみを取得し、スクリプトをデータ テーブルに保存する機能でも同様です。
可能であれば、最初のステップでは重要ではないが、これらの設定の一部を渡すこともできます。

よろしくお願いします
マウロ
Choose Closest() を使用して独自のグループ化を構築する必要があると思います。ほとんど同じオプションがあるようなので、JMP は記録していない同様のものを使用している可能性があります (recode が記録していないものもたくさんあると思います)。

Choose Closest() を使用して小さなスクリプトを作成しましたが、どの形式のループ内でも 1 回しか実行されないという問題が発生しました。
待っても役に立たなかったので、さまざまなシナリオを試しました。 ルック内で Choose Closest() を複数回実行すると、入力に関係なく同じ文字列が返されます。
ループ外では正常に動作します。
テスト設定を追加し、JMP サポートにチケットを作成します。
そうですね、ループ内にあるときは Choose Closest が奇妙な動作をしているようです。たとえば、ループ内で実行すると abcabca が abcabca と一致するため、Eval(EvalExpr()) を使用しないと動作しないようです (失敗するまで手動で実行すると、結果は正常でした)。
以下は、このようなことを私が試みたものです (Recode が行っていることと同じことをするウィッシュ リストには、Group Choose Closest または同様のものがよいアイデアだと思います)
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];
));