是什么启发了这个愿望清单请求?
尝试复制 Recode 创建的脚本并意识到它甚至与我使用 JSL 和 JMP 提供的简单函数所能实现的效果相差甚远。
您希望看到什么改进?
更新 Recode 中使用的方法以利用更现代的方法。有很多这样的例子,但这里有一个使用值代码的例子(“问题”通常发生在 Recode 开始中继 Map 值时,最终会得到所有硬编码值)

会产生混乱的代码
// Recode column: name
Local({dt},
dt = Data Table("Big Class");
dt << Begin Data Update;
dt << Recode Column(
dt:name,
{Num(_rcNow), Map Value(
_rcOrig,
{"ALFRED", 1, "ALICE", 2, "AMY", 3, "BARBARA", 4, "CAROL", 5, "CHRIS", 6,
"CLAY", 7, "DANNY", 8, "DAVID", 9, "EDWARD", 10, "ELIZABETH", 11,
"FREDERICK", 12, "HENRY", 13, "JACLYN", 14, "JAMES", 15, "JANE", 16,
"JEFFREY", 17, "JOE", 18, "JOHN", 19, "JUDY", 20, "KATIE", 21, "KIRK",
22, "LAWRENCE", 23, "LESLIE", 24, "LEWIS", 25, "LILLIE", 26, "LINDA", 27,
"LOUISE", 28, "MARION", 29, "MARK", 30, "MARTHA", 31, "MARY", 32,
"MICHAEL", 33, "PATTY", 34, "PHILLIP", 35, "ROBERT", 36, "SUSAN", 37,
"TIM", 38, "WILLIAM", 39},
Unmatched(_rcNow)
)},
Update Properties(1),
Target Column(:name)
);
dt:name << Remove Value Labels;
dt:name << Value Labels(
{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39},
{"ALFRED", "ALICE", "AMY", "BARBARA", "CAROL", "CHRIS", "CLAY", "DANNY",
"DAVID", "EDWARD", "ELIZABETH", "FREDERICK", "HENRY", "JACLYN", "JAMES",
"JANE", "JEFFREY", "JOE", "JOHN", "JUDY", "KATIE", "KIRK", "LAWRENCE",
"LESLIE", "LEWIS", "LILLIE", "LINDA", "LOUISE", "MARION", "MARK", "MARTHA",
"MARY", "MICHAEL", "PATTY", "PHILLIP", "ROBERT", "SUSAN", "TIM", "WILLIAM"}
);
dt << End Data Update;
);
当可以用单行完成时(自 JMP17 起):
dt:name << Labels to Codes;
在重新编码之外难以利用的方法的例子是将相似的值分组

我们最终会得到 Map Value,而不是漂亮的“分组”脚本
Names Default To Here(1);
Local({dt},
dt = Data Table("Big Class");
dt << Begin Data Update;
For Each Row(
dt,
dt:name[] = Map Value(dt:name, {"MARY", "MARK"}, Unmatched(dt:name))
);
dt << End Data Update;
);
我可以自己编写脚本来执行此操作(并且我已经这样做了),但如果能够通过 JMP 创建的脚本轻松地向用户展示它,那就更好了。
这个想法为什么重要?
用户能够用更少的硬编码值捕获更高效的代码