*PN---------------------------------------------------; *PN Compare dataset --------; *PN---------------------------------------------------; %macro cmp_dsn(basedsn=, compdsn=, keepstr=, dropstr=, WHR=, idvars=usubjid ); proc sort data=&basedsn(&keepstr) out=_base; by &idvars; &whr; run; proc sort data=&compdsn(&keepstr) out=_comp; by &idvars; &whr; run; title "base=&basedsn compare=&compdsn"; proc compare base=_base(&dropstr) compare=_comp(&dropstr) criterion=0.0001 listall; id &idvars; run; %mend cmp_dsn; %cmp_dsn(basedsn=adam.adsl, compdsn=qc, keepstr=, /*%str(keep=rownum c1-c5), */ dropstr=, /*%str(drop=param)*/ whr=, /*%str(where someflag='Y'),*/ idvars=usubjid );