Hey all ,
I am working data set with a lot of columns more than 50 .
I would like to append all the content of the 50 columns into a column with many rows.
I have to use SAS EG to do it .
Anybody knows how to?
Thanks .
Cody
Can you provide some example data and the way you want to append the data?
Example:
Have:
Want:
EG offers Data->Transpose (general) and Data->Stack Columns (specific for your case), but it's still a bit tricky to manage without a "recipe". I find Rick Wicklin's blog posts on transposing to be very helpful. Here's one about converting from wide to long.
Chris
Hi all ,
Thank you for your replies. Here's the "recipe". I hope it makes sense to you all.
F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 |
There | are | 40 | students | in | the | class | . | They | are |
all | studying | for | Math | and | Science | . | They | have | learnt |
valuable | lessons | from | the |
| The | teachers | are | proud | of |
them | . |
F1 |
There |
are |
40 |
students |
in |
the |
class |
. |
They |
are |
all |
studying |
for |
Math |
and |
|
They |
have |
learnt |
valuable |
lessons |
from |
the |
|
The |
teachers |
are |
proud |
of |
them |
. |
Thank you.
how about:
data have;
input (a1-a5) ($);
cards;
a b c d e f
g h i j k l
;
data want;
set have;
array _a(*) $ a1-a5;
do _n_=1 to dim(_a);
f1=_a(_n_);
output;
end;
keep f1;
proc print;run;
Linlin
Try to use proc transpose and maybe work it out.
data have;
input Name $ Sex $ Age height weight;
cards;
alfred m 14 69 112.5
alice f 13 56.5 84
barbara f 13 65.3 98
;
run;
proc sort data=have out=have2; by name; run;
proc transpose data=have2 out=have_t;
by name;
var height weight age ; run;
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.