刚刚注意到我的分析列不适用于 JMP17,甚至更糟的是它会返回不正确的数据。 问题是 JMP17 改变了“移动选定列”处理列表的方式。
Names Default To Here(1);
dt = Open( "$SAMPLE_DATA/Big Class.jmp");
list = {"sex", "name"};
wait(1);
dt << Move Selected Columns(list, To Last);
show(JMP Version());
通过这个简单的示例,您可以看到 JMP17 忽略了列表中项目的顺序(或者更确切地说按字母顺序排序?)
JMP16:

JMP17:

我可以想出很多方法来处理这个问题,但我不确定是否必须这样做
Names Default To Here(1);
dt = Open( "$SAMPLE_DATA/Big Class.jmp");
list = {"sex", "name", "age", "weight", "height"};
If(Num(Word(1, JMP Version(), ".")) < 17,
dt << Move Selected Columns(list, To Last);
, // else
first_col = Remove From(list, 1);
dt << Move Selected Columns(first_col, To First);
For Each({col}, list,
Eval(EvalExpr(
dt << Move Selected Columns({Expr(col)}, To Last);
));
);
);