楼主: fyp198744
1009 1

对列的计算实在是不好掌握啊!该怎样求? [推广有奖]

  • 0关注
  • 1粉丝

讲师

2%

还不是VIP/贵宾

-

威望
0
论坛币
135 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
5181 点
帖子
257
精华
0
在线时间
258 小时
注册时间
2016-5-23
最后登录
2019-9-30

楼主
fyp198744 发表于 2016-7-28 09:20:32 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
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


二维码

扫码加我 拉你入群

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

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

关键词:value Visit Flag alue eval visit

沙发
wwang111 发表于 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;

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-19 03:38