我创建了一个 PROC REPORT,其中包含输入数据集中的许多列以及在 COMPUTE 块中创建的其他一些列。一些列是使用 cat() 创建的,以连接其他列的值等。
是否可以使用 将回车插入列中ods escapechar='^' ;
?我没有成功地做到这一点。对于其中一列,我想这样做,但我不能让它工作:_C4_ = cats(_C2_,"^", _C3);
列C2和C3是计算出来的数字列。
谢谢你的帮助。
我创建了一个 PROC REPORT,其中包含输入数据集中的许多列以及在 COMPUTE 块中创建的其他一些列。一些列是使用 cat() 创建的,以连接其他列的值等。
是否可以使用 将回车插入列中ods escapechar='^' ;
?我没有成功地做到这一点。对于其中一列,我想这样做,但我不能让它工作:_C4_ = cats(_C2_,"^", _C3);
列C2和C3是计算出来的数字列。
谢谢你的帮助。
这将取决于您的 ODS 目的地,但您需要在转义字符之后实际执行一些操作。
转义字符只是告诉 SAS 以下字符是特殊的而不是常规文本。
我想你想要的是_C4_ = cats(_C2_,'^n',_C3_);
^n 应该转义将被解释为换行符的“n”。
这是一些示例代码:
data test;
input name $ var1 var2 var3;
datalines;
bob 1 2 3
ted 4 5 6
jon 7 8 9
;
run;
ods escapechar='^';
proc report data=test;
columns name var1 var2 calc var3;
define calc /computed;
compute calc / character length=30;
calc = cats(_C2_,'^n',_C3_);
endcomp;
run;
这在 EG 的本机结果输出中对我有用,并且应该在 PDF 或其他支持换行符的目标中工作。定义行不是绝对必要的(事实上,当我排除它时,它正确地证明了该列),但我假设您无论如何都会包含它们来设置列标题和格式。
如果您想将 var1 和 var2 强制转换为特定格式,您可以在 cat 函数中将它们替换为类似put(_C2_,comma16.1)
您可以使用 ODS 样式和转义字符来做很多很酷的事情(例如在 PDF 输出中下划线子标题或突出显示不同颜色的交替行) 一些基础知识的参考:http ://www2.sas.com/proceedings/forum2007/099- 2007.pdf