全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
825 5
2022-12-05
proc sql noprint;
    create table aa1 as select a.*,b.* from aa a,bb b where a.usubjid=b.usubjid;
quit;
运行上面程序,出了wanning: WARNING: 变量 usubjid 已经存在于文件“WORK.AA1”中。
因为aa和bb数据集变量都很多,不方便一一罗列变量,请教下,如何去掉这个waning呢?
多谢!
二维码

扫码加我 拉你入群

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

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

全部回复
2022-12-5 23:03:31
不要写 a.* ,b.*  因为usubjid出现两次
二维码

扫码加我 拉你入群

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

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

2022-12-6 08:41:08
SQL查询语句其实是用于数据集子集查询的,这里你用于合并完整数据集也没有问题,但是由于变量太多导致你无法列出某一个数据集中的所有变量。
一般情况下,是列出第二个数据集中需要左联的变量,你这里可以用Data步的merge。
二维码

扫码加我 拉你入群

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

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

2022-12-17 10:27:46
wanning: WARNING: 变量 usubjid 已经存在于文件“WORK.AA1”中
意思是你在两个档案aa, bb中都有unsubjid这个变量,如果继续执行就会两个档案的变量覆盖过去,
解决方法有二:
1.你把要的aa档变量跟bb档变量都留下来,写成 a.x1, a.x2, a.x4, b.y1, b.y2...
如果变量很多无法一一写出,加上unsubijd这个变量你是并档被覆盖没关系,就直接 2.忽略warning
二维码

扫码加我 拉你入群

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

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

2022-12-17 11:38:28
proc sql noprint;
    create table aa1(drop=usubjid_new) as
        select a.*,b.*
            from aa as a,
                 bb as b(rename=(usubjid=usubjid_new))
                where a.usubjid=b.usubjid_new;
quit;
二维码

扫码加我 拉你入群

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

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

2022-12-22 16:55:00
因为两个数据集都有usubjid了,把b中的drop掉,或者b.需要合并的变量
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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