帮助代码para = {"Age","Orientation","Preference","Salary","Number","SN","Years","Service"} //some of the column names needed
main_table_col_remain = main_tab << get column names(string);
For( i = N Items( main_table_col_remain ), i > 0, i--,
If(!Contains( main_table_col_remain[i],<FONT color="#FF0000"> ??</FONT> ) ,
Remove From( main_table_col_remain, i )
));
我在“ ??”中放什么部分?我已经在这段代码周围盘旋了一段时间。我想删除未存储在para中的列名。
回复:帮助代码您进行了向后比较。 您要使用main_table_col_remain [1]并查看参数列表以查看其是否存在,然后将其从main_table_co_remaining列表中删除
para = {"Age", "Orientation", "Preference", "Salary", "Number", "SN", "Years", "Service"}; //some of the column names needed
main_table_col_remain = main_tab << get column names( string );
For( i = N Items( main_table_col_remain ), i > 0, i--,
If( Contains( Para, main_table_col_remain[i] ),
Remove From( main_table_col_remain, i, 1 )
)
);回复:帮助代码跟进问题,我如何调整此代码,以便它不会单独拆分?
for(i=1, i<=n, i++,
if((contains item(Para[i], main_table_col_remain) == 1),
param = main_table_col_remain[i];
tempdt =eval(parse( " combined_tab << Split(
Split By(:Source_Table),
Split(:Name(\!"" ||param|| "\!")),
Remaining Columns(Drop All),
Sort by Column Property
)"
))));
回复:帮助代码如果我正确地阅读了您想做的事,那么您要做的就是将所有 main_table_col_remain 列同时进入拆分定义。 这是一个通过Big Class示例数据表中的Sex列对Height和Weight进行拆分的简单示例
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/big class.jmp" );<BR />dt << Split(
Split By( :sex ),
Split( :height, :weight ),
Remaining Columns( Drop All ),
Sort by Column Property
);
对于数据表中的复杂名称,我倾向于将:Name()添加到数据表中的每个元素 main_table_col_remain,在您的情况下,将列表转换为字符串
myString = ":Name( \!"" || char(main_table_col_remain[1]) || "\!" )";
For( I = 2, I<= N Items( main_table_col_remain ), i++,
myString = myString || ", :Name( \!"" || char(main_table_col_remain[i]) || "\!" )" ;
);
然后您可以将整个列表添加到拆分中
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/big class.jmp" );
main_table_col_remain = dt << get column names( string, continuous );
myString = ":Name( \!"" || Char( main_table_col_remain[1] ) || "\!" )";
For( I = 2, I <= N Items( main_table_col_remain ), i++,
myString = myString || ", :Name( \!"" || Char( main_table_col_remain[i] ) || "\!" )"
);
Eval(
Parse(
"
dtSplit = dt << Split(
Split By( :sex ),
Split( " || myString ||
" ),
Remaining Columns( Drop All ),
Sort by Column Property
);"
)
);