JSL如何通过表达式重命名列名你好
我有一个由摘要统计信息生成的列名称的列表。 我想删除所有仅保留我想要的部分的前缀和sufix。我如何在JSL中做到这一点?
列
占总数的百分比(UP9019-01)=> UP9019-01
占总数的百分比(UP9019-02)=> UP9019-02
占总数的百分比(UP9019-03)=> UP9019-03
.....
脚本编写回复:JSL如何通过表达式重命名列名我要处理的第一种方法是使摘要平台名称的输出列与输入列的名称相同。通过指定
统计列名称格式(“ column”)
可从“摘要平台输入”对话框中选择
如果您不能这样做,那么所有要做的就是使用此JSL重置列名
:Name("% of Total(UP9010-01)") << set name( "UP9019-01: );
如果这需要自动化而不是硬编码,并且此列是数据表中的第一列,则可以使用此JSL进行处理
column(1) << set name(word(2,column(1)<<GET name=""></GET>
回复:JSL如何通过表达式重命名列名这是一个使用“统计列名称格式(“ column”)”选项的简单示例,显示了名为原始列名称的Total列的百分比

names default to here(1);
dt=open("$SAMPLE_DATA/big class.jmp");
Data Table( "big class" ) << Summary(
Group( :age ),
Name( "% of Total" )(:height),
Name( "% of Total" )(:weight),
Freq( "None" ),
Weight( "None" ),
statistics column name format( "column" ),
Link to original data table( 0 )
);回复:JSL如何通过表达式重命名列名嗨纳尔逊,
感谢您的提示。 指定静态列名称格式(“列”)的第一个选项不起作用。 它仍然在表中包含总计的百分比。
您建议的JSL选项可以完美地工作!
ColList = dt_source << get column names( string );
//% of Total(UP9019-01)
For( i = 4, i <= N Items( ColList ), i++,
Column( i ) << set name( Word( 2, Column( i ) << get name, "()" ) )
);Re: JSL 如何通过表达式重命名列名嗨纳尔逊,
如果您不使用子组,统计列名称将起作用。 就我而言,我需要使用子组。 占总数的百分比仍将附加到子组