如何使用 JSL 从多个列名中删除前缀?好的,我想我不明白 JMP 文档。 缺少好的例子。
我正在尝试重命名 JMP 文件中的列,该文件具有使用前缀创建的列名。 所有列名都以“pre”开头,我想从列名中删除该字符串。
在一个循环中,我能够使用 SHOW 语句提取并显示所有列名。 我用了
OldName = (列名(i));
其中 i 是循环变量。
似乎我需要做的就是
substr(旧名称,4,长度(旧名称)-3)
但是当我使用它时,我会遇到各种各样的错误。 例如,长度功能不起作用。
我究竟做错了什么? 逻辑很简单,但是 JMP 脚本语言让我很生气。
回复:在脚本中重命名列或者这个同时使用 set 和 get 名称:
回复:在脚本中重命名列或者这个单行解决方案:
回复:在脚本中重命名列或者,您可以使用
OldName = Char(列名(i));
那么您不需要 Substr() 中的 Expr()。
没有 Char() (或 expr)无法工作的原因是 Column name() 返回一个名称值,而不是带引号的字符串。 在脚本指南中查看更多信息(在“获取列名”第 121 页,JMP 9 下)
消息编辑者:MS回复:在脚本中重命名列那行得通! 谢谢!回复:在脚本中重命名列我不知道*为什么*它有效,但如果你用 expr(OldName) 替换 OldName,它对我有用:
dt = 当前数据表 ();
我 = 1;
OldName = (列名(i));
newvar = Substr(expr(OldName), 4, Length(expr(OldName)) - 3);
显示(新变量);