SAS中文论坛

标题: 请教一个数据集合并的问题 [打印本页]

作者: shiyiming    时间: 2012-7-29 15:46
标题: 请教一个数据集合并的问题
请教一个数据集合并的问题,数据集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      

请教,该如何操作?多谢了
作者: shiyiming    时间: 2012-7-30 19:02
标题: 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]
作者: shiyiming    时间: 2012-8-1 07:03
标题: Re: 请教一个数据集合并的问题
学习中,非常感谢




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