Есть ли функция для проверки наличия элемента в макропеременной? - PullRequest
1 голос
/ 21 января 2020

у меня есть таблица Z с двумя столбцами a (строка) и b (целое число) элементов в изменении для каждой сессии, поэтому я записываю макропеременную для каждой сессии!

%Let Fe='abc','def','mno';
%let mylist = &session_1. &session_2. &session_3.;

%macro print_session_3(mylist) / minoperator ; 
%let session_3=session_3;
    %IF  &session_3. in &mylist. %THEN %DO;
        proc sql;
            create table DATA.session_3 as
        select  a , b
        from source.Z
            where a in &Fe.
        and b>4
    ;quit;
    %end; 
%mend;
%print_session_3(&mylist);

Я надеюсь, что это достаточно ясно для вас, ошибка: «Ожидая а)»

1 Ответ

3 голосов
/ 21 января 2020

Это означает, что вы пропустили ).

. Вы должны использовать оператор in со списком значений в () в where операторе.

Это будет выглядеть так :

where a in (&Fe.)
...