为数据表分配新名称并在处理后保持原始数据表不变我试图避免对原始数据表进行更改,并在执行某些操作时使其保持原样
说我们有这种情况
for (i = 1, 3, i++,
dt_process = data table("dt_original);
dt_process << newcolumn("elclassico", character,formula(if (Contains(:club, "BARC") , "Barcelona", "delete")
dt_process << save("save_my_club"||char(i))
)在此过程之后,当 i = 2 时,jsl 对我说找不到 dt_original,因为名称已更改。
为什么会这样?
数据表脚本回复:为数据表分配新名称并在处理后保持原始数据表不变保存将更改数据集的名称,您始终使用对同一数据表 (dt_original) 的引用
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
show(dt << get name);
dt << Save("$temp\deleteme Big Class.jmp"); // explicit location
show(dt << get name);
您可以改为创建子集并保存(如果您不需要打开这些,请记住关闭它们)
dt_process = dt_original << Subset(Selected Columns(0), All Rows);
回复:为数据表分配新名称并在处理后保持原始数据表不变非常感谢!