全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
980 1
2016-07-28
idvisitdatevalue

1

1

1998-2-3

1.1

1

2

1998-2-13

1.2

1

3

1998-2-23

1.2

2

1

1998-2-5

1.2

2

2

1998-2-10

1.2

2

3

1998-2-20

1.2

3

1

1998-5-1

1.2

3

2

1998-5-2

1.3

3

3

1998-5-3

1.2

找出value的最大值,并且标注flag=‘yes’;
对于同一个id,valve相同的,找出最早的访问时间,并且标注flag=‘yes’;
就是变成这样
idvisitdatevalueflag

1

1

1998-2-3

1.1

1

2

1998-2-13

1.2

yes

1

3

1998-2-23

1.2

2

1

1998-2-5

1.2

yes

2

2

1998-2-10

1.2

2

3

1998-2-20

1.2

3

1

1998-5-1

1.2

yes

3

2

1998-5-2

1.3

yes

3

3

1998-5-3

1.2


二维码

扫码加我 拉你入群

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

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

全部回复
2016-7-28 11:07:37
proc sort data=test;
by id visit date;
run;

proc sql;
create table maxvalue1 as
select distinct * from test
group by id
having value=max(value)
order by id, visit, date;
quit;

data maxvalue;
set maxvalue1;
by id visit date;
if first.id;
run;


proc sql;
create table dupvalue1 as
select * from test
group by value
having count(value)>1
order by id, visit,date;
quit;

data dupvalue;
set dupvalue1;
by id visit date;
if first.id;
run;

data wanted;
merge test maxvalue(in=a drop=value) dupvalue(in=b drop=value);
by id visit date;
if a or b then flag="Yes";
run;
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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