全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
3357 4
2018-03-06
悬赏 50 个论坛币 未解决


SAS操作求助:


求助各位大神,我有两个数据集,如图
IMG_20180306_190952.jpg

t1是主数据集,t2是其他数据集,变量都相同,但观测值不同,t1是3行,t2是4行。
我需要把t1数据填补更新,目前t1缺失3个值(如红色圆圈),而t2里面有其中一个,我应该如何写命令才能把t2的这一个值填到t1里,但不要第t2的第四行及其他数据呢?
也就是,完全不动t1,仅仅是把t1缺失的而t2又有的数据填进去。
其中,t2的数据也不全,仅仅是有些值是t2有但t1确实的,但t1和t2变量完全相同,如A,但t1的A和t2的A数量不一样,有50%重复,另50%却不一样。看了一晚上也没想出来怎么写,求大神指点,50币悬赏
当然,主数据集有1个,但其他数据集有十几个,每个数据集有1万多个指标,图仅仅是示例,求指点。






IMG_20180306_190952.jpg

原图尺寸 376.77 KB

IMG_20180306_190952.jpg

二维码

扫码加我 拉你入群

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

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

全部回复
2018-3-6 22:17:38
不求分,只作思路讨论
1. 从主数据集遍历,取有空白列的行,并遍历每个外部数据集
2. 子数据集当前行至少两列的数据与主数据集当前行中对应列相同,主数据集当前行的空白列赋值为子数据集当前行对应列数据
补充
算法可以优化(当然也有可能时你的图示中明显存在数学关系的关系)
如果来自数据库,那么 SQL 部分肯定可以优化,以减少遍历的次数
二维码

扫码加我 拉你入群

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

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

2018-3-7 10:56:10
爱思考大帝 发表于 2018-3-6 22:17
不求分,只作思路讨论
1. 从主数据集遍历,取有空白列的行,并遍历每个外部数据集
2. 子数据集当前行至少 ...
已在另一个问题中完美解决了
https://bbs.pinggu.org/thread-6260474-1-1.html
二维码

扫码加我 拉你入群

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

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

2018-3-9 08:36:54
做一次搬运工!
data t1;
   input (A B C D) ($);
cards;
a1 b1 c1 d1
a2 b2 . d2
a3 b3 c3 .
;
run;

data t2;
   input (A B C D) ($);
cards;
a1 b1 c1 .
a2 b2 c2 d2
a3 b3 c3 .
a4 b4 . d4
;
run;

proc sort data=t1;
   by A B;
run;

proc sort data=t2;
   by A B;
run;

data t3;
   update t1(in=in_t1) t2;
   by A B;
   if in_t1=1;
run;
二维码

扫码加我 拉你入群

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

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

2018-3-10 14:39:55
8112mmw 发表于 2018-3-9 08:36
做一次搬运工!
data t1;
   input (A B C D) ($);
哥,那个问题也是我问的,哈哈
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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