导航:首页 > 数据分析 > sas如何对数据进行逐级汇总

sas如何对数据进行逐级汇总

发布时间:2023-10-12 21:18:24

❶ SAS数据处理

DATA CHENGJI1;
INPUT NAME $ SEX $ MATH CHN GROUP;
CARDS;
李明 男 92 98 1
张红艺 女 89 106 1
王思明 男 86 90 1
;
RUN;
DATA CHENGJI2;
INPUT NAME $ SEX $ MATH CHN GROUP;
CARDS;
张聪 男 95 92 2
刘颖 女 98 101 2
高红 女 91 92 2
;
RUN;

DATA CHENGJI3;
INPUT NAME $ SEX $ MATH CHN GROUP;
CARDS;
赵强 男 93 99 3
李云芳 女 96 102 3
周闪 男 88 98 3
;
RUN;

*第二步;
DATA CHENGJI0;
SET CHENGJI1 CHENGJI2 CHENGJI3;
RUN;

*第三步;

DATA CHENGJI;
SET CHENGJI0;
AVG=MEAN(MATH,CHN);
RUN;

PROC SORT;
BY AVG;
RUN;
*第四步;

DATA MATH90;
SET CHENGJI0;
WHERE MATH>90;
RUN;

*第五步;
PROC SORT DATA=CHENGJI(KEEP=NAME GROUP AVG) OUT=LAST ;
BY GROUP AVG;
RUN;
DATA LAST;
SET LAST;
BY GROUP AVG;
IF FIRST.GROUP;
RUN;

*第六步;
PROC SORT DATA=CHENGJI0 OUT=MATH;
BY SEX;
RUN;

DATA MATH(KEEP=SEX AVG SUM_ALL);
SET MATH END=T;
BY SEX;
IF FIRST.SEX THEN DO;
I=0;
M=0;
END;
M+MATH;
I+1;
AVG=M/I;
J+1;
TOT+MATH;
IF LAST.SEX;
IF T THEN SUM_ALL=TOT;
RUN;
*第七步;

PROC SUMMARY DATA=CHENGJI0 NWAY;
VAR MATH;
OUTPUT OUT=A(DROP=_TYPE_ RENAME=(_FREQ_=N)) SUM=TOT;
RUN;

DATA DIF;
IF _N_=1 THEN SET A;
SET CHENGJI0;
AVG=TOT/N;
DIFF=AVG-MATH;
DROP TOT N;
RUN;

*第八步;
DATA EN;
INPUT EN @@;
CARDS;
80 84 85 86 82 87 96 75 52
;
RUN;
DATA ALL;
SET CHENGJI0;
SET EN;
RUN;

楼上这位是大牛,多向他学习学习

❷ SAS 分组排序后编号,取出每一组编号最大值

假设数据集名为datause,那么:

procsql;
createtabledatause_countingas
selectbl1,count(bl3)asGroup_Sizefromdatause
groupbybl1;
Createtablenewdatauseas
selecta.*,b.group__countingb
ona.bl1=b.bl1;
quit;
阅读全文

与sas如何对数据进行逐级汇总相关的资料

热点内容
广西广电网络的默认ip 浏览:191
政府发红头文件内容会实现吗 浏览:552
腾讯贵安七星数据中心英文怎么写 浏览:489
玩火的女孩有几个版本 浏览:113
tvshowtracker安卓版 浏览:983
App数据分析应该从哪些纬度 浏览:17
到底要不要升级ios92 浏览:875
cad2014安装包安装文件在哪里 浏览:63
电信密码无法登录 浏览:820
cad的打印到文件怎么设置 浏览:902
智行app铂金会员怎么还有期限 浏览:581
win10用子文件夹改名 浏览:234
ae钢笔工具在哪里 浏览:460
gn105数据线插哪里 浏览:916
破锁屏密码方法 浏览:835
股票数据放哪里 浏览:576
m格式库文件 浏览:279
天际通数据服务怎么开票 浏览:430
写小说发哪个网站比较好 浏览:244
小米电视3蓝牙文件路径 浏览:111

友情链接