Desktop productivity for business analysts and programmers

How to sort variables in alphabetical order as Output data in SAS EG?

Reply
Contributor
Posts: 23

How to sort variables in alphabetical order as Output data in SAS EG?

I have a table which the variables are in specific order as Output data, how can I sort it so they are presented in alphabetical order?

 

data WORK.DATA5;
set WORK.DATA4;
run;

SAS Super FREQ
Posts: 508

Re: How to sort variables in alphabetical order as Output data in SAS EG?

[ Edited ]
Super User
Posts: 23,980

Re: How to sort variables in alphabetical order as Output data in SAS EG?

@WarrenKuhfeld just a quick note that I edited your link to remove an extra space at the end.

Super User
Posts: 10,555

Re: How to sort variables in alphabetical order as Output data in SAS EG?

A quick way by retrieving the column names from dictionary.columns and using call execute:

%let inlib=sashelp;
%let inset=class;
%let outlib=work;
%let outset=class;

proc sql;
create table vars as
select name
from dictionary.columns
where libname = upcase("&inlib.") and memname = upcase("&inset.")
order by name;
quit;

data _null_;
set vars end=done;
if _n_ = 1 then call execute("data &outlib..&outset.; format ");
call execute(name !! ' ');
if done then call execute("; set &inlib..&inset.; run;");
run;

You can easily wrap that into a macro with the four macrovars as macro parameters.

---------------------------------------------------------------------------------------------
Maxims of Maximally Efficient SAS Programmers
How to convert datasets to data steps
How to post code
Ask a Question
Discussion stats
  • 3 replies
  • 515 views
  • 0 likes
  • 4 in conversation