Я бы сначала предположил, что ваш оператор заголовка использует одинарные кавычки:
TITLE 'Metrics for &YEAR &QUARTER &RPT_TYPE Report';
Разрешение макропеременной не встречается в исходной строке, заключенной в одинарные кавычки, поэтому я бы сказал, что в заголовке используйте двойные кавычкиоператор:
TITLE "Metrics for &YEAR &QUARTER &RPT_TYPE Report";
Если вы используете двойные кавычки, вы все равно можете увидеть &<macro-var-name>
в codegen.Это произойдет, если макропеременная не определена в рамках попытки разрешения.Тем не менее, в окне журнала будет указана проблема.Что отображается в вашем журнале?
В этом примере будет создан вывод с заголовком Class president is &PRESIDENT
title "Class president is &PRESIDENT";
proc print data=sashelp.class;
run;
----- log -----
4 title "Class president is &PRESIDENT";
WARNING: Apparent symbolic reference PRESIDENT not resolved.
5 proc print data=sashelp.class;
6 run;
Итак, вероятная причина в том, что макропеременные, заполненные окном приглашения, не являютсячто вы думаете, или вы кодируете заголовок до запроса.