全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
1102 5
2021-04-02
悬赏 15 个论坛币 已解决
复制代码
从bbb数据集变量y的取值去除和aaa数据集变量x相同的取值。然后再拼接。
希望得到的数据为:
x y
c d
a d
b d



最佳答案

whymath 查看完整内容

proc sql noprint; create table ccc as select * from aaa, ( select * from bbb except select * from aaa) ; quit;
二维码

扫码加我 拉你入群

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

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

全部回复
2021-4-2 09:19:07
proc sql noprint;
  create table ccc as select *
  from aaa, (
    select * from bbb
    except
    select * from aaa)
  ;
quit;
二维码

扫码加我 拉你入群

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

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

2021-4-2 22:31:20
proc sort data=work.aaa;by x;run;
proc sort data=work.bbb;by y;run;
data ccc;
        merge aaa(in=left rename=(x=y)) bbb(in=right );
        by y ;
        if not left and right;
run;

proc sql ;
        create table work.want as select a.*,c.* from work.aaa a,work.ccc c;
quit;
二维码

扫码加我 拉你入群

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

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

2021-4-7 09:18:27
缘oO来如此0o 发表于 2021-4-2 22:31
proc sort data=work.aaa;by x;run;
proc sort data=work.bbb;by y;run;
data ccc;
最后的数据集x的顺序变了。谢谢!
二维码

扫码加我 拉你入群

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

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

2021-4-7 09:18:59
不知道不用sql,能否用data步简单实现。
二维码

扫码加我 拉你入群

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

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

2021-4-11 18:49:16
dxystata 发表于 2021-4-7 09:18
不知道不用sql,能否用data步简单实现。
我试了试,不能“简单”实现,如您有办法,请分享来看看。
主要的困难在于获取数据集aaa和bbb的差,完全用data步比较难想出简单的方法。
仅为拓宽思路,下例供参考:
复制代码
上面的程序给出了获取两个集合(数据集)的差的另一种方法。
二维码

扫码加我 拉你入群

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

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

栏目导航
热门文章
推荐文章

说点什么

分享

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