需要在SAS eg列表报告的标题中显示提示值

需要在SAS eg列表报告的标题中显示提示值,sas,Sas,我需要在SAS Enterprise Guide的列表报告标题中显示宏输入的提示值。当前,当报告生成标题为:“年度、季度和RPT_类型报告的指标”时,我的标题语句中的代码如下: 标题1“年度、季度和RPT类型报告的指标” 我能用#BYVAR或#BYVALUE正确格式化吗?我首先猜到你的标题语句使用了单引号: TITLE 'Metrics for &YEAR &QUARTER &RPT_TYPE Report'; 宏变量解析不会出现在单引号的源字符串中,因此我会说在tit

我需要在SAS Enterprise Guide的列表报告标题中显示宏输入的提示值。当前,当报告生成标题为:“年度、季度和RPT_类型报告的指标”时,我的标题语句中的代码如下:

标题1“年度、季度和RPT类型报告的指标”


我能用#BYVAR或#BYVALUE正确格式化吗?

我首先猜到你的标题语句使用了单引号:

TITLE 'Metrics for &YEAR &QUARTER &RPT_TYPE Report';
宏变量解析不会出现在单引号的源字符串中,因此我会说在title语句中使用双引号:

TITLE "Metrics for &YEAR &QUARTER &RPT_TYPE Report";
如果使用双引号,您仍然可以在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;

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

是的,您可以使用#ByVAR和#BYvalue。如果它不起作用,发布一个可复制的例子来说明这一点。请显示您的代码。提示定义是什么?