Desktop productivity for business analysts and programmers

How to append multiple columns into a column (with many rows) ?

Reply
Contributor
Posts: 24

How to append multiple columns into a column (with many rows) ?

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

Frequent Contributor
Posts: 95

Re: How to append multiple columns into a column (with many rows) ?

Can you provide some example data and the way you want to append the data?

Example:

Have:

Want:

Community Manager
Posts: 2,889

Re: How to append multiple columns into a column (with many rows) ?

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

Contributor
Posts: 24

Re: How to append multiple columns into a column (with many rows) ?

Hi all ,


Thank you for your replies. Here's the "recipe". I hope it makes sense to you all.

F1 to F10 are the columns.

 

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


 

 
  1. Classes.
 

 

The


 

 

teachers


 

 

are


 

 

proud


 

 

of


 

 

them


 

 

.


 

 


 

 


 

 


 

 


 

 


 

 


 

 


 

 


 

Become to F1 as the only column with many rows.

 

F1


 

 

There


 

 

are


 

 

40


 

 

students


 

 

in


 

 

the


 

 

class


 

 

.


 

 

They


 

 

are


 

 

all


 

 

studying


 

 

for


 

 

Math


 

 

and


 

 
  1. Science.
 

 

They


 

 

have


 

 

learnt


 

 

valuable


 

 

lessons


 

 

from


 

 

the


 

 
  1. classes.
 

 

The


 

 

teachers


 

 

are


 

 

proud


 

 

of


 

 

them


 

 

.


 

Thank you.

Super Contributor
Posts: 1,636

Re: How to append multiple columns into a column (with many rows) ?

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

Contributor QLi
Contributor
Posts: 59

Re: How to append multiple columns into a column (with many rows) ?

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;

Ask a Question
Discussion stats
  • 5 replies
  • 357 views
  • 0 likes
  • 5 in conversation