我需要在SAS Enterprise Guide中的列表报告标题中显示来自宏输入的提示值。当前,当报告生成时,标题为:“&YEAR&QUARTER&RPT_TYPE报告的指标”,我的标题说明中的代码如下:
TITLE1“&YEAR&QUARTER&RPT_TYPE报告的指标”;
我可以使用#BYVAR或#BYVALUE正确格式化吗?
答案 0 :(得分:0)
我会首先猜到您的标题声明使用单引号:
TITLE 'Metrics for &YEAR &QUARTER &RPT_TYPE Report';
在单引号中的源字符串中不会出现宏变量解析,所以我会说在title语句中使用双引号:
TITLE "Metrics for &YEAR &QUARTER &RPT_TYPE Report";
如果使用双引号,您仍然可以在代码生成中看到&<macro-var-name>
。如果未在解析尝试范围内定义宏变量,则会发生这种情况。但是,“日志”窗口将指示问题。日志中显示什么?
此示例将创建标题为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;
因此,可能的原因是提示窗口中填充的宏变量与您认为的不一样,或者您在提示之前对标题语句进行了编码。