我需要一个可以打印出" proc内容的宏#34;和第一个''观察任何数据集。然后我需要它来进一步计算那些前k个观测值的一些汇总统计量,例如均值,最大值,标准偏差和偏度。我熟悉SAS,但我对MACROS来说是一个全新的东西 - 文档令我感到困惑。
我知道为了打印出前五个变量,你可以使用我在之前的工作中使用的OBS和FIRSTOBS。
PROC PRINT DATA = WORK.CA(firstobs= 5 obs= 9);
RUN;
我可以通过计算std mean等使用PROC MEANS将相同的逻辑应用于汇总统计。但是,如何使用宏使其适用于任何数据集?
答案 0 :(得分:1)
%macro MyMacro(data=,k=,var=);
proc contents data=&data varnum;
run;
proc print data=&data (obs=&k);
run;
proc means data=&data (obs=&k) mean max std skewness;
var &var;
run;
%mend MyMacro;
%MyMacro(data=sashelp.class, k=10, var=Age Height Weight);