Как передать условие в качестве параметра макроса в SAS

#sas #conditional-statements #sas-macro

#sas #условные операторы #sas-макрос

Вопрос:

В моей макрофункции мне нужно передать условие в качестве параметра, могу ли я узнать, как передать подобное условие в sas

пример : where flag="YES"

 %macro counts(con= ,out=);
    proc sort data=ads(amp;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=amp;out.;
        id surtypen;
        var count;
    run;
%mend;

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

Ответ №1:

Удалите лишний период ( . ), и код должен работать

Изменить

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

Для

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

Комментарии:

1. конечно, правильный ответ, но стандартом переполнения стека для опечаток является голосование за закрытие:site specific:typo, а затем упоминание опечатки в комментариях; если это просто опечатка, мы не хотим сохранять вопрос / ответ для потомков (если, возможно, это неочень распространенная опечатка из-за чего-то, кроме случайных нажатий клавиш).