全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
1833 7
2014-07-13
比如:数据表1:  姓名     国籍    性别     学历
                              张三     中国      男     本科
                              李四      美国     女     研究生
                              王五       英国    男     本科
          数据表2(修改明细):    姓名   修改字段   原值    现值
                                            张三    性别          男         女
                                            李四     国籍         中国      美国


如何根据数据表2的修改明细 来更新数据表1中的部分数据?实际数据当然要大的多。


二维码

扫码加我 拉你入群

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

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

全部回复
2014-7-14 03:11:15
data a;
input name $ nation $ sex $ education $;
cards;
a china man under
b Ame woman grd
;
run;
data b;
input name $ id $ oldvalue $ newvalue $;
cards;
a sex man woman
b nation china Ame
;
run;
data c;
merge a b;
by name;
run;
data d;
set c;
if oldvalue eq nation then nation=newvalue;
else if oldvalue eq sex then sex=newvalue;
else if oldvalue eq education then education=newvalue;
run;
二维码

扫码加我 拉你入群

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

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

2014-7-14 09:20:52
非常感谢,先学习下,有问题再请教[em23]
二维码

扫码加我 拉你入群

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

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

2014-7-23 14:13:10
mingfeng07 发表于 2014-7-14 03:11
data a;
input name $ nation $ sex $ education $;
cards;
问题来了,当表a和表b  merge合并时是一对一的关系式可以的,如果是一对多就会出问题,比如表b中李四不光国籍需要修改,性别也要修改,即源代码中b表多了“b sex woman man”这么一列,结果会出现重复观测(李四的),而需求是每个id只能有一条记录,这个有什么办法呢?也就是不同修改记录能不能整合到原数据表同一观测的不同变量?
不知道表达的是否清楚?
二维码

扫码加我 拉你入群

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

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

2014-7-23 18:35:30
wxmouse 发表于 2014-7-23 14:13
问题来了,当表a和表b  merge合并时是一对一的关系式可以的,如果是一对多就会出问题,比如表b中李四不光 ...
复制代码
二维码

扫码加我 拉你入群

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

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

2014-7-23 20:15:34
复制代码
二维码

扫码加我 拉你入群

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

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

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

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