這看起來非常簡單,但預計它不工作:累加文本變量跨越觀察
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用尾隨空格填充該值。「如果您看到關於連接和刪除內部空白的標題,它們會更詳細一些。 –