为列名添加前缀(脚本)你好
我有一个 JMP 数据集,想要为该数据集中的所有列名称添加相同的前缀,下面的代码并不能完全满足我的要求。
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
dt2 = dt << For( i = 25, i <= N Cols( dt ), i++,
cName = Column( dt, i ) << Get Name;
newname = cName || "Prefix_";
Column( dt, i ) << Set Name( newname );
);
现在,第二种情况:
想象一下“Big Class”中的“性别”列仅包含 F(或 Ms)。
我如何通过上面代码中的实用程序/宏变量的帮助来访问该内容并将其用作前缀?
干杯,新手
回复:为列名添加前缀(脚本)对不起,马克。 我没有注意到缓冲区不包含=粘贴最新的 JSL 代码变体。
无论如何,我稍微调整了一下......
Names Default to Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
prefix = dt:sex[1];
For( i = 1, i <= N Cols( dt ), i++,
cName = Column( dt, i ) << Get Name;
newname = prefix ||"_"||cName;
Column( dt, i ) << Set Name( newname ); );
回复:为列名添加前缀(脚本)首先,For() 是一个函数,而不是数据表的消息,它不返回对新数据表的引用。 其次,为什么循环索引从25开始? 三、为什么要串联前缀后名字? 该结果是一个后缀。
Names Default to Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
prefix = dt:sex[1];
For( i = 1, i <= N Cols( dt ), i++,
cName = Column( dt, i ) << Get Name;
newname = prefix || cName;
Column( dt, i ) << Set Name( newname );
);