之前也寫過找rfpendtc變量的方法,今天一看,似乎之前的方法有點復(fù)雜,今天寫一個簡潔點的程序。
/*將所有數(shù)據(jù)集選出來*/
data aa;
set sashelp.vcolumn;
where libname="RAW" and name like '%DAT_RAW';
run;
/*篩選出來的數(shù)據(jù)集,變量做成宏變量,方便下一步一一讀取*/
proc sql noprint;
select memname,name,count(name) into :dsname separated by ',',:name separated by ',',:n trimmed
from aa;
quit;
%put &dsname. &name. &n.;
%macro dtc;
data dtc;
set %do i = 1 %to &n.;/*利用循環(huán)一一讀取選出的數(shù)據(jù)集并合并*/
raw.%scan("&dsname",&i.,",")/*原始數(shù)據(jù)集*/
(keep=subject %scan("&name",&i.,",")/*選出每個對應(yīng)數(shù)據(jù)集中的日期變量*/
rename=(%scan("&name.",&i.,",")=dtc) where=(dtc ne ""))
%end;;
run;
%mend;
%dtc;
找出所有的日期,再排序選擇最晚的日期即可。