【发布时间】:2018-09-19 10:21:50
【问题描述】:
当有超过 1 条记录具有相同的 urn 时,以下代码似乎不适用于变量 all_s。 Var1,2,3 工作正常,但那个没有,我不知道为什么。我试图让 all_s 等于 single_var1,2,3 如果它是 first.urn 则连接没有空格,但我希望它是
all_s = all_s + ',' + single_var1 + single_var2 + single_var3
当它不是那个骨灰盒的第一个实例时。
data dataset_2;
set dataset_1;
by URN;
retain count var1 var2 var3 all_s;
format var1 $40. var2 $40. var3 $40. all_s $50.;
if first.urn then do;
count=0;
var1 = ' ';
var2 = ' ';
var3 = ' ';
all_s = ' ';
end;
var1 = catx(',',var1,single_var1);
var2 = catx(',',var2,single_var2);
var3 = catx(',',var3,single_var3);
all_s = cat(all_s,',',single_var1,single_var2,single_var3);
count = count+1;
if first.urn then do;
all_s = cat(single_var1,single_var2,single_var3);
end;
run;
【问题讨论】:
-
来自
dataset_1的single_var1-single_var3的长度是多少? -
您想要每个
URN组的单行输出吗?如果不这样做,您的输出数据将显示中间var1-var3和all_s连接。 -
我忘了如果last.urn然后输出;谢谢!
标签: sas concatenation retain