SAS中文论坛

标题: 请教如何分组纵向连接字符串? [打印本页]

作者: shiyiming    时间: 2011-4-13 14:00
标题: 请教如何分组纵向连接字符串?
示例数据如下:
001    aaa  
001    bbb   
002    ccc   
002    ddd   
002    eee   
003    fff   
想分组纵向合并var1,结果如下所示:
001    aaabbb
002    cccdddeee
003    fff
请问如何实现啊?谢谢!
作者: shiyiming    时间: 2011-4-13 14:19
标题: Re: 请教如何分组纵向连接字符串?
[code:l9i17jmk]data a;
input no$ x$;
cards;
001 aaa
001 bbb
002 ccc
002 ddd
002 eee
003 fff
;
data b(drop=x);
set a;
by no notsorted;
retain y;
if first.no then y=x;
else y=cats(y,x);
if last.no then output;
run;[/code:l9i17jmk]
作者: shiyiming    时间: 2011-4-13 18:43
标题: Re: 请教如何分组纵向连接字符串?
[code:3e3twzmi]data _null_;
    length y $50;
    do _n_=1 by 1 until(last.no);
        set a;
        by no notsorted;
        substr(y,length(y)+1)=x;
    end;
    put no= y=;
run;[/code:3e3twzmi]
作者: shiyiming    时间: 2011-4-14 08:19
标题: Re: 请教如何分组纵向连接字符串?
[code:9xzy241r]proc transpose data = a out = b;
        by no;
        var x;
run;

data b1;
        set b;
        var = cats(of col:);
        drop _: col:;
run;[/code:9xzy241r]
作者: shiyiming    时间: 2011-4-14 09:35
标题: Re: 请教如何分组纵向连接字符串?
非常感谢以上各位!




欢迎光临 SAS中文论坛 (http://mysas.net/forum/) Powered by Discuz! X3.2