全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
5987 4
2013-04-26
问下,使用merge..by..进行合并匹配,by后的变量值希望不区分字母大小写匹配,如何做到呢 ?

感谢~~
二维码

扫码加我 拉你入群

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

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

全部回复
2013-4-26 18:21:21
貌似用merge...by不能实现,要在merge之前用个upcase或lowcase函数将by变量转化下, 或者用SQL实现
二维码

扫码加我 拉你入群

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

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

2013-4-26 21:40:22
Eternal0601 发表于 2013-4-26 18:21
貌似用merge...by不能实现,要在merge之前用个upcase或lowcase函数将by变量转化下, 或者用SQL实现
SQL我试了,还是区分大小写。upcase或lowcase函数在数据量大的情况下,还是消耗资源的,有没更优化的方式呢?
二维码

扫码加我 拉你入群

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

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

2013-4-26 23:29:39
tony31743 发表于 2013-4-26 21:40
SQL我试了,还是区分大小写。upcase或lowcase函数在数据量大的情况下,还是消耗资源的,有没更优化的方式 ...
下面的sql应该是可以实现的,但还是用到upcase了,如果这个值不是很多的话,可以尝试先用proc format转化成相同的,然后再merge
proc sql;
select a.*,b.*
from dataseta as a
full join  datasetb as b
on upcase(a.byvariable)=upcase(b.byvariable);
quit;
二维码

扫码加我 拉你入群

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

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

2013-4-27 10:00:22
Eternal0601 发表于 2013-4-26 23:29
下面的sql应该是可以实现的,但还是用到upcase了,如果这个值不是很多的话,可以尝试先用proc format转化 ...
好的,多谢
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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