gpt4 book ai didi

sas - 中国报告 : Carriage Return in Column to add to concatenated fields

转载 作者:行者123 更新时间:2023-12-04 14:35:06 25 4
gpt4 key购买 nike

我创建了一个 PROC REPORT,其中有许多列位于输入数据集中,还有一些列在 COMPUTE block 中创建。有些列是使用 cats() 创建的,用于连接其他列的值等。

是否可以使用 ods escapechar='^' ; 将回车符插入到列中?我没有成功地做到这一点。对于其中一个列,我想这样做,但我无法使其工作:_C4_ = cats(_C2_,"^", _C3); Columns C2C3 是经过计算的数字列。

感谢您的帮助。

最佳答案

这将取决于您的 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 的 native 结果输出,并且应该适用于 PDF 或其他支持换行的目标。 define 行不是绝对必要的(事实上,当我排除它时,它正好证明了该列),但我假设您无论如何都会包括它们以设置列标题和格式。

如果你想强制 var1 和 var2 为特定格式,你可以在 cats 函数中将它们替换为 put(_C2_,comma16.1)

您可以使用 ODS 样式和转义字符做很多很酷的事情(例如 PDF 输出中的下划线子标题或突出显示不同颜色的交替行)供一些基础知识引用:http://www2.sas.com/proceedings/forum2007/099-2007.pdf

关于sas - 中国报告 : Carriage Return in Column to add to concatenated fields,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18891870/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com