这段宏程序运行不了,也没有报错,不知道是哪里的问题,请教高手指教!
%macro nvardescrip(data =trans , out = like);
proc contents data=&data out=a0 noprint;
run;
proc sql;
select NAME into : nvarsseperated by ' ' from a0 where TYPE = 1;
quit;
%let i = 1;
%do %until(%scan(&nvars, &i, ' ') = );
%let varname = %scan(&nvars, &i, ' ');
%end;
proc univariate data = &data noprint;
var&varname;
output out = a1 nmiss = nmiss mean = mean std = std min = min Q1 = Q1 median = median Q3 = Q3 max = max;
run;
data a1;
retain name nmiss mean std min Q! median Q3 max;
set a1;
length name $15.;
name = "&varname";
label name = "变量名" nmiss = "缺失观察数" mean = "均值" std = "标准偏差" min = "最小值" Q1 = "下四分位"
median = "中位数" Q3 = "上四分位数" max = "最大值";
run;
%if &i = 1 %then %do;
data&out; set a1; run;
%end;
%else %do;
data &out; set &out; run;
%mend;