SAS中计算总和或者计算总数的方法
SAS 在数据步中可以使用 retain 来计算总和或者个数,简单介绍一下,主要介绍使用 sql 语句获得总和或者个数。
(1)使用 retain 来计算,一般是先使用 retain 声明变量,然后直接使用变量进行计算
* retain的使用,计算总体人数,但是每一个观测都会含有一个num 变量 ;
data calc_num;
retain num;
input name $ age sex $;
num+1;
cards;
zhou 18 f
wang 23 m
li 34 f
wu 25 m
;
run;
proc print data=calc_num;
run;
结果是:
(2)使用 sql 语句来计算,使用的时候,只需要使用 sum(字段名),count(字段名)和 group by 相结合
*sql 的使用;
dm log "clear";
ods listing;
data temp;
input name $ subject $ score;
cards;
zhou math 100
wang math 90
li math 98
zhou chinese 120
wang chinese 100
li chinese 85
zhou english 100
wang english 80
li english 90
;
run;
proc sql;
create table student_sum as
select
name,
sum(score) as sum,
count(score) as num
/* score*/
from
work.temp
group by
name
order by
num;
run;
proc print data=student_sum;
run;
结果为:
注意:
都是同样的问题,sql 处理问题的方法比 data 步更加人性化
页:
[1]