|
Re: 请问:怎样做变量值的转换?
[code:jozdk2uv]
%macro vformat(from, to,length,formatname, formattype);
data vformat;
array a(&length.) (&from);
array b(&length.) (&to);
do i=1 to &length.;
informat start end label $40. fmtname $32. type $1.;
start=a(i);
end=a(i);
label=b(i);
fmtname="&formatname.";
type="&formattype";
output;
end;
keep start end label fmtname type;
run;
proc format library=work cntlin= vformat;run;
proc datasets;delete vformat;quit;
%mend;
%let from=1 2 3 4 ;
%let to= 11 22 33 44 ;
%let length=4;
%vformat(&from.,&to.,&length.,score, n);
data vv;
informat v1-v2 ;
format v1-v2 score.;
input v1-v2 ;
cards;
1 2
3 4
;
run;
proc print;
run;[/code:jozdk2uv] |
|