如何在 SAS 中将条件作为宏参数传递

How to pass a condition as a macro parameter in SAS

在我的宏函数中我需要传递一个条件作为参数,我能知道如何在 sas 中传递这样的条件吗

例如:where flag="YES"

%macro counts(con= ,out=);
    proc sort data=ads(&con.) out=teaes_sev nodupkey;
        by usubjid surtypen;
    run;

    proc freq data=teaes_sev noprint;
        tables surtypen/out=teae1_sev;
    run;

    proc transpose data=teae1_sev out=&out.;
        id surtypen;
        var count;
    run;
%mend;

%counts(con=where=(flag ="YES".),out=row1 );

删除多余的句点 (.),代码应该可以工作

改变

%counts(con=where=(flag ="YES".),out=row1 );

%counts(con=where=(flag ="YES"),out=row1 );