全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
1171 1
2016-07-26
idkindgradeevent
101_10000b

1

GLOBULINS DECREASED
101_10000b

1

HYPERTRIGLYCERIDAEMIA
101_10000b

1

LEUKOCYTOSIS
101_11100b

1

BLOOD CREATINE PHOSPHOKINASE INCREASED
101_11100b

3

GLOBULINS DECREASED
101_11100b

1

HYPERTRIGLYCERIDAEMIA
101_11100b

1

HYPOPHOSPHATAEMIA
101_11100b

1

HYPOAESTHESIA ORAL
101_11100b

4

PROTEIN TOTAL DECREASED
101_11100b

1

XANTHELASMA
101_13700a

1

ALANINE AMINOTRANSFERASE INCREASED
101_13700a

1

ALANINE AMINOTRANSFERASE INCREASED
101_13700a

3

ANAEMIA
101_13700a

1

ASPARTATE AMINOTRANSFERASE INCREASED
101_13700a

1

ASPARTATE AMINOTRANSFERASE INCREASED
101_13700a

4

BLOOD CHOLESTEROL INCREASED
101_13700a

1

MUSCLE SPASMS
101_13700a

1

OEDEMA PERIPHERAL
101_13700a

1

OEDEMA PERIPHERAL
101_13700a

1

PAIN IN EXTREMITY
101_13700a

1

FOLLICULITIS
101_13700a

2

FOLLICULITIS
101_13700a

1

FOLLICULITIS
101_13700a

1

GAMMA-GLUTAMYLTRANSFERASE INCREASED
101_13700a

1

GLYCOSYLATED HAEMOGLOBIN INCREASED
101_13700a

1

HYPERCHOLESTEROLAEMIA
101_13700a

1

HYPERGLYCAEMIA
是这样的,现在需要统计按四个grade的两组kind的id人头数和event事件数
kindgrade人数事件数
a

1

a

2

a

3

a

4

b

1

b

2

b

3

b

4

不过有条最关键的规则就是:不论人头数还是事件数,只计算最高等级的,也就是说像‘101_11100’这个人经历过grade4这个等级,那么久不再计入grade1~grade3这三个等级,虽然“101_11100”这个人也经历过前面的三个等级!
二维码

扫码加我 拉你入群

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

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

全部回复
2016-7-26 11:34:04
proc sql;
create table maxgrade as
select * from test
group by id, kind
having grade=max(grade);

create table count as
select kind, grade, count(distinct id) as num_id, count(distinct event) as num_event
from maxgrade
group by 1,2
order by 1,2;

create table allclass as
select * from
(select distinct kind from test),(select distinct grade from test)
order by kind, grade;
quit;

data wanted;
merge count allclass;
by kind grade;
if num_id=. then num_id=0;
if num_event=. then num_event=0;
run;
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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