使用新的:Name()命名法和变量我真的很喜欢从:Name(“ column name”)到:“ column name” n的转变,尤其是数据表如何更轻松地引用列。 但是当列名是变量时,我很难使它工作。
dt = currentdatatable();
colName = "Column Name";
//old way works fine
Column(dt,colName) << set name("new column name");
//if it's not a variable it works
dt:"Column Name"n << set name("new column name");
//as a variable, the syntax is lost on me
dt:colName << set name("new column name") // nope
dt:colName||"n" << set name("new column name") // nope
dt:colName||n << set name("new column name") // nope我敢肯定这很简单...但是这并不是我想要的。 旧的方法很好用,所以我仍然可以不用编写脚本,但是这种新方法更加简洁,我想在任何地方使用它:)
谢谢!
脚本编写回复:使用带有变量的新:Name()命名法在具有JMP 15.2.1的Windows 10上运行,我得到的结果略有不同
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA\big class.jmp" );
colName = "height";
Show(
dt:Height[1],
dt:Name( "height" )[1],
dt:"Height"[1],
dt:"Height"n[1],
Column( dt, "Height" )[1],
Column( dt, colName )[1],
dt:colName[1]
);
dt:colName << set name( "New Column Name" );
哪个返回
dt:Height[1] = 59;
dt:height[1] = 59;
dt:Height[1] = 59;
dt:Height[1] = 59;
Column(dt, "Height")[1] = 59;
Column(dt, colName)[1] = 59;
dt:colName[1] = 59;
Scriptable[]
运行脚本后,数据表具有以下名称

回复:使用带有变量的新:Name()命名法我相信“” n构造仅适用于需要在语句本身中使用字符文字的情况。 因此,没有必要尝试将“,n”附加到它后面。
至于您的测试,这对我有用:
dt = open("$SAMPLE_DATA/Big Class.jmp");
colName = "height";
dt:colName << set name("new column name");
回复:使用带有变量的新:Name()命名法杰夫
我已经进行了多次搜索,以期找到有关“” n文档的文档。 你有具体的参考吗?