Проблема:
Я хочу изменить порядок всех столбцов в наборе данных sas. Должен ли я достичь этого, сначала транспонируя, а затем используя цикл для изменения порядка столбцов? Это моя логика...
Шаг первый:
data pre_transpose;
set sashelp.class;
*set &&dataset&i.. ;
_row_ + 1; * Unique identifier ;
length _charvar_ $20; * Create 1 character variable ;
run;
Выход первого шага:
Шаг второй: переворачивать ли здесь столбцы?
proc transpose data = pre_transpose out = middle (where = (lowcase(_name_) ne '_row_'));
by _row_;
var _all_;
quit;
Шаг второй. Выход:
РЕДАКТИРОВАТЬ:
Я пробовал это:
/* use proc sql to create a macro variable for column names */
proc sql noprint;
select varnum, nliteral(name)
into :varlist, :varlist separated by ' '
from dictionary.columns
where libname = 'WORK' and memname = 'all_character'
order by varnum desc;
quit;
/* Use retain to maintain format */
data reverse_columns;
retain &varlist.;
set all_character;
run;
But I did not achieve the results I was looking for - the column order is not reversed.