Desktop productivity for business analysts and programmers

How to create a loop to iterate through columns ?

Reply
Contributor
Posts: 24

How to create a loop to iterate through columns ?

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.

Super User
Super User
Posts: 6,330

Re: How to create a loop to iterate through columns ?

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;

Respected Advisor
Posts: 4,606

Re: How to create a loop to iterate through columns ?

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

PG
Ask a Question
Discussion stats
  • 2 replies
  • 378 views
  • 0 likes
  • 3 in conversation