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;
Build your skills. Make connections. Enjoy creative freedom. Maybe change the world. Registration is now open through August 30th. Visit the SAS Hackathon homepage.
Register today!What’s the difference between SAS Enterprise Guide and SAS Studio? How are they similar? Just ask SAS’ Danny Modlin.
Find more tutorials on the SAS Users YouTube channel.