嗨,我认为这是一个非常简单的问题,我有一个这样的记录,例如:
name value
Mack 12
Mack 10
Mack 50
现在我想将所有值放在变量或单行中。结果应该是
value_concat
12,10,50
我尝试使用SAS的第一个也是最后一个声明,但这对我不起作用就是我写的:
data List_Trt1;
set List_Trt;
by name;
if first.name then value_concat = value;
value_concat = cats(value_concat,",",value);
if last.name then value_concat = cats(value_concat,",",value);
run;
感谢您的帮助!
答案 0 :(得分:2)
你走在正确的轨道上。
data List_Trt1;
set List_Trt;
by name;
length value_concat $30; *or whatever is appropriate;
retain value_concat;
if first.name then value_concat=' ';
value_concat=catx(',',value_concat,value);
if last.name then output;
run;
首先,您需要保留,以便始终保持其价值。其次,您需要在first.name
上将其初始化为空白。第三,您只需要在last.name
上输出。我使用CATX
因为它更适合您正在做的事情,但您的CATS
也应该没问题。