SAS中文论坛

标题: 如何连接两个表 [打印本页]

作者: shiyiming    时间: 2010-4-8 10:36
标题: 如何连接两个表
A表有50行数据 两个变量x和y .
X          Y

A          1
B          2
.........

B表就只有一行,两个变量PCTS PPTY:
pcts  ppty

3       6

我想将B表的这行连接到A表的每一行中,如果Y中的数字是2,我希望连接上后重复两次:
X      Y   pcts  ppty

A     1   3        6
B     2    3        6
B     2    3        6
....


谢谢!
作者: Qiong    时间: 2010-4-8 10:58
标题: Re: 如何连接两个表
往下看“求问怎样用SAS复制多重行?”
作者: shiyiming    时间: 2010-4-8 11:00
标题: Re: 如何连接两个表
[code:10a3hl4n]data a;
        input x $ y;
datalines;
A 1
B 2
;

data b;
        input pcts ppty;
datalines;
3 6
;

data c(drop=i);
        set a;
        if _n_=1 then set b;
        do i=1 to y;
                output;
        end;
run;[/code:10a3hl4n]
作者: shiyiming    时间: 2010-4-9 08:43
标题: Re: 如何连接两个表
不好意思,一来就发帖了,没注意看!
我还有个问题想问下 data b;
   set a
   do i=1 to 5;
   end;             
run;   为什么出来的i是6呢?
作者: shiyiming    时间: 2010-4-9 13:02
标题: Re: 如何连接两个表
i会继续往下做一次累加,然后判断是否越界,所以是6。
作者: shiyiming    时间: 2010-4-9 13:18
标题: Re: 如何连接两个表
谢谢了
作者: shiyiming    时间: 2010-4-10 09:36
标题: Re: 如何连接两个表
data crackman1;
pcts=3;
ppty=6;
call symput('pcts',pcts);
call symput('ppty',ppty);
run;
data crackman;
input x$ y@;
pcts=&pcts.;
ppty=&ppty.;
cards;
a 1
b 2
c 3
d 4
e 5
f 6
;
run;




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