全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
3480 3
2013-09-03
现在有以下两个文件夹
文件夹1,名为a.aa
no name
11 cy
22 ly
33 yy
文件夹2,名为b.bb
no age
1-1 20
2-2 30
3-3 40
4-4 50
5-5 60
我想先让a.aa中的no先变成1-1格式,让后再从b.bb中找出相同的no后,把b.bb中的age合并到a.aa中去;
合并后的文件夹如下,这个程序请问用proc sql如何写?

no name age
1-1 cy 20
2-2 ly 30
3-3 yy 40




二维码

扫码加我 拉你入群

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

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

全部回复
2013-9-3 21:22:34
data a;
        input no $ name $;
        datalines;
11 cy
22 ly
33 yy
;
run;
data b;
        input no $ age;
        datalines;
1-1 20
2-2 30
3-3 40
4-4 50
5-5 60
;
run;
proc sql;
        create table result as
        select b.no, a.name, b.age
        from b join a
        on compress(tranwrd(b.no, '-','')) = compress(a.no);
quit;
二维码

扫码加我 拉你入群

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

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

2013-9-3 22:17:31
yuerqieqie 发表于 2013-9-3 21:22
data a;
        input no $ name $;
        datalines;
谢谢,虽然我没有看懂compress和tranwrd这两个函数,但是你给了我启示,我用substr解决了词问题。有孔的话解释一下一上那两个函数吧
二维码

扫码加我 拉你入群

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

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

2013-9-3 22:48:50
winwin2013 发表于 2013-9-3 22:17
谢谢,虽然我没有看懂compress和tranwrd这两个函数,但是你给了我启示,我用substr解决了词问题。有孔的话 ...
tranwrd就是把taget 字符串中的指定字符"-"换成指定字符""(这里是空字符串);compress就是去掉字符串中所有的空格
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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