需要在SAS标题中显示提示值,例如列表报告

时间:2018-12-05 17:45:03

标签: sas

我需要在SAS Enterprise Guide中的列表报告标题中显示来自宏输入的提示值。当前,当报告生成时,标题为:“&YEAR&QUARTER&RPT_TYPE报告的指标”,我的标题说明中的代码如下:

TITLE1“&YEAR&QUARTER&RPT_TYPE报告的指标”;

我可以使用#BYVAR或#BYVALUE正确格式化吗?

1 个答案:

答案 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;

因此,可能的原因是提示窗口中填充的宏变量与您认为的不一样,或者您在提示之前对标题语句进行了编码。