SAS中文论坛

 找回密码
 立即注册

扫一扫,访问微社区

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

请教一个数据集合并的问题

[复制链接]

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
楼主
 楼主| 发表于 2012-7-29 15:46:13 | 只看该作者

请教一个数据集合并的问题

请教一个数据集合并的问题,数据集A1、A2中的ID均有重复的。

data a1        ;
input  id $ b ;
cards;
a01 10
a02 16
a03 20
a03 20
a03 300
;
run;

data a2;
  input id $ c $;
  cards;
  a01 f
  a02 m
  a02 f
  a03 m
  a03 ff
  ;
run;

以A1为基准进行合并,希望合并后数据集如下:
               Obs     id      b     c
                1     a01     10    f
                2     a02     16    m
                3     a03     20    m
                4     a03     20    ff
                5     a03    300      

请教,该如何操作?多谢了
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
沙发
 楼主| 发表于 2012-7-30 19:02:52 | 只看该作者

Re: 请教一个数据集合并的问题

[code:yyrlaqg2]
data a1 ;
input id $ b ;
retain i 0;
if id^=lag(id) then i+1;
if id=lag(id) then j+1;
else j=0;
cards;
a01 10
a02 16
a03 20
a03 20
a03 300
;

data a2;
input id $ c $;
retain i 0;
if id^=lag(id) then i+1;
if id=lag(id) then j+1;
else j=0;
cards;
a01 f
a02 m
a02 f
a03 m
a03 ff
;

proc sql noprint;

create table a3 as
select * from
a1 left join a2
on a1.i=a2.i and a1.j=a2.j;

alter table a3
drop i, j;

quit;

[/code:yyrlaqg2]
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
板凳
 楼主| 发表于 2012-8-1 07:03:01 | 只看该作者

Re: 请教一个数据集合并的问题

学习中,非常感谢
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-5-4 01:23 , Processed in 0.090898 second(s), 19 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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