全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
1469 6
2012-07-05
就是如何将两个数据在data 步中全连结?

例如: a  1         和    a  3  
         a  2                a  4
merge出的结果为

a 1 3
a 1 4
a  2 3
a 2 4
而非
a  1 3
a 2 4

在sql里面应该是 full join  .

谢谢啦
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2012-7-6 00:48:39
Since you know it , why not try by yourself?
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2012-7-6 09:07:49
复制代码
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2012-7-6 09:40:22
The sql solution will be Cartesian product joins. There is no equivalent merge solution. But a point direct access data set point will do it as showed below.


data t1 t2;
v1='a'; v2 = 1 ;output t1;
v1='a'; v2= 2 ;output t1;
v1='a'; v2= 3 ;output t2;
v1='a'; v2= 4 ;output t2;
run;

proc sql;
  create table t3 as
  select t1.v1 ,  t1.v2,  t2.v2 as v3
  from t1 , t2
  order by 2,3
  ;
quit;

data t4;
  set t1;
    do i=1 to nobs;
           set t2(rename=(v2=v3)) point=i nobs=nobs;
           output;
        end;
run;
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2012-7-6 11:01:10
bobguy 发表于 2012-7-6 09:40
The sql solution will be Cartesian product joins. There is no equivalent merge solution. But a point ...
呵呵,看来我对direct access data 的机制 认识还是太粗。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2012-7-6 12:43:14
denver 发表于 2012-7-6 00:48
Since you know it , why not try by yourself?
我会sql,但是sas的data步里面不会,而sql又没办法全满足剩下的要求。。。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群