全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
2820 1
2014-03-05
悬赏 50 个论坛币 已解决
例:
data a;
input g a b $;
cards;
1 1 .
1 2 .
1 3 Y
1 4 Y
1 5 .
2 1 .
2 2 Y
3 1 Y
;
run;

g是大分类,a是小分类,b是值;我想让每个子分类下的b值有且只有最后一个,前面的call missing。
例如:g = 1时,只保留a最大的那一个b = ‘Y',前面的call missing。

提供一个有点傻的做法,算抛砖引玉(但是实际情况变量较多,而且不太方便排序):

复制代码

谢谢!


最佳答案

wwang111 查看完整内容

proc sql; create table wanted as select a.g, a.a, b.b from a a left join (select distinct g,max(a) as a,b from a where b ne '' group by 1) b on a.g=b.g and a.a=b.a; quit;
二维码

扫码加我 拉你入群

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

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

全部回复
2014-3-5 15:47:21
proc sql;
create table wanted as
select a.g, a.a, b.b
from a a left join
(select distinct g,max(a) as a,b from a where b ne '' group by 1) b
on a.g=b.g and a.a=b.a;
quit;
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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