Hi all,
Anyone knows how to write codes for base SAS or SAS EG to do a looping through to iterate all the columns inside the table and then append it into 1 column with many rows ?
Thanks.
How about proc transpose?
Suppose you want to shove everything into a variable (column) call MYVAR.
proc transpose data=have out=want (rename=(col1=myvar)) ;
var _all_;
run;
If your variables (columns) are all of the same type then you could use a data step with an array;
data want ;
set have ;
array old _all_;
do over old; myvar=old; output; end;
keep myvar;
run;
Transpose is a good idea. However, if you want a single column of data, you must use a BY statement.
data myView / view=myView;
set have;
obs = _n_;
run;
proc transpose data=myView out=want (rename=(col1=value)) ;
by obs;
var _all_;
run;
PG
April 27 – 30 | Gaylord Texan | Grapevine, Texas
Walk in ready to learn. Walk out ready to deliver. This is the data and AI conference you can't afford to miss.
Register now and lock in 2025 pricing—just $495!
Check out this tutorial series to learn how to build your own steps in SAS Studio.
Find more tutorials on the SAS Users YouTube channel.
Ready to level-up your skills? Choose your own adventure.