SAS中文论坛

 找回密码
 立即注册

扫一扫,访问微社区

查看: 1952|回复: 2
打印 上一主题 下一主题

请教大虾一个SAS字符串连接的问题

[复制链接]

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
楼主
 楼主| 发表于 2012-9-7 15:34:45 | 只看该作者

请教大虾一个SAS字符串连接的问题

测试数据集如下:
data a;
input id x $3-10;
cards;
1 a b
1 b c d
2 x y
2 z
;
run;

期望得到的结果如下:
1 a b b c d
2 x y z
;
如何实现?多谢大虾救助!
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
沙发
 楼主| 发表于 2012-9-7 20:10:21 | 只看该作者

Re: 请教大虾一个SAS字符串连接的问题

[code:oye6oygp]
data ads;
input id x $ & 5.;
cards;
1 a b
1 b c d
2 x y
2 z
;

proc transpose data=ads out=bds;
by id;
var x;
run;

data cds(drop=_name_ col1 col2);
set bds;
c=catx('',col1,col2);
run;
[/code:oye6oygp]
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
板凳
 楼主| 发表于 2012-10-3 00:22:03 | 只看该作者

Re: 请教大虾一个SAS字符串连接的问题

假设:
1 有些ID包含两条以上记录
2 原始数据中所有相同ID都排在一起

data ads;
input id x $ & 5.;
cards;
1 a b
1 b c d
2 x y
2 z
2 z y d
;
run;

data outds;
length newvar $200.;
set ads;
by id notsorted;
retain newvar;
if first.id then newvar='';
newvar=strip(newvar)||' '||strip(x);
if last.id;
keep id newvar;
run;
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|手机版|Archiver|SAS中文论坛  

GMT+8, 2025-5-3 08:56 , Processed in 0.079028 second(s), 21 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表