l*********t 发帖数: 18 | 1 我写了一个很短的macro, 用来提取sas dataset的attribute.
%macro getattrn(indata=, attrn=);
%if %sysfunc(exist(&indata)) %then %do;
%* open data set;
%let did=%sysfunc(open(&indata));
%* Get attribute;
%let attvalue=%sysfunc(attrn(&did, &attrn));
%* Close data set;
%sysfunc(close(&did));
%end;
%else %let attvalue=-999;
&attvalue
%mend getattrn;
然后call的时候就把值赋给一个marco variable, 比如
%let MV=%getattrn(indata=mydata, attrn=nobs)
按道理这个macro应该返回mydata里面的observation个数. 但是我查MV的值竟然是:
0; 396... 阅读全帖 |
|