数字转成字符型较少用,但是字符--->数字多见,下面例子希望有用。
data a1;
input a $ b $ @@;
cards;
23 45 34 34 54 34
;
run;
data _null_;
set a1;
array tmp[*] _character_;
call symputx("nvar",dim(tmp));
run;
data tmp;
set a1 end=eof;
array tmp[*] _character_;
length vars $ 32767;
retain vars "";
array num[&nvar.];
do i=1 to dim(tmp);
num[i]=input(tmp[i],best.);
if eof then vars=catx(" ",vars,cats(vname(num[i]),"=",vname(tmp[i])));
end;
if eof then call symputx ("vars",vars);
drop _character_ i;
run;
data a4;
set tmp;
rename &vars.;
run;
proc contents data=a4; title "字符型批量变成数字型"; run;
|