У вас есть две проблемы с этим попыткой синтаксиса. Во-первых, списки переменных не поддерживаются PRO C SQL (поскольку они не поддерживаются синтаксисом SQL). Во-вторых, не существует простого синтаксиса для поиска по N переменным списка M строк.
Вам понадобится al oop некоторого вида. В коде SAS это будет намного проще, чем в SQL.
Например, вы можете создать массив для ссылки на ваши 30 переменных, а не на l oop поверх переменных, проверяя, имеет ли каждая из них значение в списке ценностей. Вы можете прекратить проверку, как только один найден.
data want;
set have;
array vars diag1-diag30;
p_nervoussystem=0;
do index=1 to dim(vars) while (not p_nervoussystem);
p_nervoussystem = vars[index] in ('F00','G30','F01','F02','F03','F051');
end;
run;