希望对你有帮助.
data a;
input name $ gender $ age;
datalines;
a 男 18
b 女 21
c 男 30
d 男 28
e 女 15
f 男 40
g 男 38
h 女 60
i 男 30
j 男 18
k 女 70
l 男 60
o 男 48
p 女 30
q 男 35
r 男 18
s 女 26
u 男 45
v 男 48
w 女 55
x 男 55
y 男 43
z 女 22
m 男 56
;
run;
data work.b;
set a;
if age <=19 then do;
age_interzone = "19以下";
end;else if age <=29 then do;
age_interzone = "20来岁";
end;else if age <=39 then do;
age_interzone = "30来岁";
end;else if age <=49 then do;
age_interzone = "40来岁";
end;else if age <=59 then do;
age_interzone = "50来岁";
end;else do;
age_interzone = "60岁及以上";
end;
label age_interzone = "年龄区间";
run;
proc sql noprint;
create table work.c as
select distinct gender,
age_interzone,
count(age_interzone) as cnt "年龄区间人数"
from work.b
group by gender,age_interzone
order by gender,age_interzone;
quit;
|