全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
1994 3
2019-04-02
请教:我的数据是这样:包括变量a  b,数据举例如下:
a          b 1          63
1          37
2          100
3          50
3          50
4          43
4          39
4          18
5          40
5          40
5          10
5          10
..............
  
现在需要判断,对于同一个a的值,保留b的最大值,舍弃b的较小值,如果b只有一个值则保留,如果b有相同的最大值则都保留。
即生成表:
a          b
1          63
2          100
3          50
3          50
4          43
5          40
5          40
..............
这个应该如何分组进行筛选呢?谢谢啊!

data mylib.time2;
set mylib.time1;
n=1;
do i=1 to 6230;
select;
when (_PAGE_=n) do;
n=n+1;
retain MaxPctN10;
MaxPctN10=max(MaxPctN10,PctN_10);
if PctN_10<MaxPctN10 then delete;
end;
end;
end;
run;

我写了这样的程序,可是要么没有结果,要么只有一个结果,不知道怎么弄了。
谢谢大家啊!


二维码

扫码加我 拉你入群

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

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

全部回复
2019-4-2 21:26:47
求助大神们帮忙啊!
二维码

扫码加我 拉你入群

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

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

2019-4-3 01:09:25
Data beforeMax;
input a b;
cards;
1          63
2          100
3          50
3          50
4          43
4          39
4          18
5          40
5          40
5          10
5          10
;
run;
proc sql;
create table max as
  select a,b
    from Beforemax
       group by a   
         having b not lt max(b);

quit;

二维码

扫码加我 拉你入群

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

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

2019-4-3 21:27:42
xiaopingN 发表于 2019-4-3 01:09
Data beforeMax;
input a b;
cards;
太感谢了啊!
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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