Можно ли вернуть значение из макроса SAS и продолжить текущую строку SAS после возврата значения?
например.
Желаемый вывод в SAS (без кавычек):
"set test.hello_2018_2020_2028;"
Я пробовал следующее:
%MACRO returnFunc(passVar);
%local testReturn;
%let testReturn = %eval(&passVar +1);
&testReturn
%return;
%MEND returnFunc;
%MACRO test;
%local var1;
%local varPassed;
%local anotherVar;
%let var1 = 2018;
%let varPassed = 2019;
%let anotherVar = 2028;
set test.hello_&var1._%returnFunc(&varPassed)_&anotherVar;
%MEND test;
Однако я получаю следующие ошибки:
Таким образом, макрос возвращает значение отлично, однако он начинает пытаться сделать другой оператор set вместо добавления _ & anotherVar к оператору set