这看起来非常简单,但预计它不工作:累加文本变量跨越观察
data names;
input name $12.;
cards;
John
Jacob
Jingleheimer
Schmidt
;
run;
data names;
length namelist $100.;
set names end=eof;
retain namelist;
if _n_=1 then namelist=name;
else namelist = namelist || "|" || name;
if eof then output;
run;
我希望得到的结果有含
约翰一个观察|雅各布| Jingleheimer |施密特
但是namelist
只是John
。我究竟做错了什么?
啊哈,谢谢!你能解释为什么吗?是否填充了导致填充可用空间的文本? – itzy
当然 - 根据此链接(http://support.sas.com/documentation/cdl/en/basess/58133/HTML/default/viewer.htm#a001336080.htm)“当字符值小于长度它所属的变量,SAS用尾随空格填充该值。“如果您看到关于连接和删除内部空白的标题,它们会更详细一些。 –