楼主: griffingrf
3850 2

[问答] SAS菜鸟,请教一个SAS中关于缺失值处理的问题 [推广有奖]

  • 0关注
  • 14粉丝

讲师

37%

还不是VIP/贵宾

-

威望
0
论坛币
74 个
通用积分
0.0044
学术水平
24 点
热心指数
25 点
信用等级
13 点
经验
3876 点
帖子
112
精华
0
在线时间
877 小时
注册时间
2008-4-23
最后登录
2022-6-8

楼主
griffingrf 发表于 2011-3-25 10:35:37 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
要处理一组国际贸易数据,从中提取出高科技产品的数据,因此要从一大类中剪掉几部分小类。例如,714大类产品可能为高科技产品,但是其中71425小类产品不是高科技产品,因此要用714大类的数据减去71425小类的数据。这里有两张表,每张表有四个变量,即Reporter(出口国), Partner(进口国), Year(统计年份), 和Commodity(商品的贸易流量)。
第一张表a为大类商品,Commodity为Aerospace1;第二张表b为小类商品,Commodity为Aerospace2;
如果直接用a.Aerospace1-b.Aerospace2 ,则有aerospace1而无Aerospace2的值在新表中都会编程缺失值(可见如下程序)。


create table g7.Aerospace as
SELECT distinct a.Reporter, a.Partner, a.Aerospace1-b.Aerospace2 as aerospace, a.Year
FROM g7.aerospace1 as a FULL JOIN g7.aerospace2 as b
on a.Reporter = b.Reporter and a.Partner = b.Partner and a.Year = b.Year;
quit;

现在想实现的是,若aerospace2存在,则用a.Aerospace1-b.Aerospace2得到新表中的aerospace;若aerospace2不存在,则直接为新表中aerospace取a.aerospace1的值。

之前发帖提了一个问题得到了论坛上达人们的完美解决,非常感谢哈!
希望有大侠能帮忙指导一下这个问题,谢啦!
二维码

扫码加我 拉你入群

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

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

关键词:缺失值处理 缺失值 Aerospace Commodity reporter SAS 缺失值

沙发
myc_sas 发表于 2011-3-25 16:40:14
还是两个方法:
1) 把 a.Aerospace1-b.Aerospace2 改为 sum(a.Aerospace1, -b.Aerospace2)

2) 用case when b.Aerospace2=. then a.Aerospace1-b.Aerospace2 else a.Aerospace1 end

藤椅
griffingrf 发表于 2011-3-25 21:06:23
2# myc_sas 呵呵,谢啦,这位大侠SAS怎么学的呀?能推荐本教材或者别的学习资料不?

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-5 05:19