data test;
input text $10.;
datalines;
srikanth
boyina
;run;
%let DataName = test;
%let Variable = Text;
%let length = 32;
%macro rever;
data New;format &Variable._New $32.;
set &DataName.;&Variable._New="_"Put(_N_,z5.0)&Variable.;
run;
data New; set New end = last;
if last then call symput ("N",_n_);run;
data b;
set New;
%do i=7 %to &length.;
_column_&i.=substr(&Variable._New,&i.,1);
%end;
run;
proc transpose data=b out=test(drop=_name_);id &Variable._New; var _column_7-_column_&length.;run;
%do k = 1 %to &N.;
data _null_; set New;
if _n_ = &k. then call symput ("V",&Variable._New);
run;
proc sql noprint;select &V. into :var separated by "" from test order by &V.; quit;
data New;
format SortVar $32.;
set New;
if _n_ = &k. then SortVar = "&var.";
run;
%end;
proc datasets nolist; delete b test; run; quit;
%mend;
%rever;
Wednesday, July 8, 2009
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment