幫助代碼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中的列名。
Re: help with codeYou had the comparison backwards. You want to take the main_table_col_remain[1] and look into the para list to see if it is there then remove it from the main_table_co_remaining list
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
);"
)
);