我是刚学习sas的,在练习sas认证题:base123 里面的题,但我有点儿不会做,看不懂,能请各位帮忙解释一下吗

关注让阿豪来帮你解答,本回答参考chatgpt3.5编写提供,如果还有疑问可以评论或留言问题:给出一个包含姓名、成绩的数据集,如何在SAS中按照成绩从高到低排序,并输出前三名的姓名和成绩? 回答:
proc sort data=score;
by descending score;
run;
其中,data=score表示对数据集score进行排序,by descending score表示按照score降序排序。 3. 输出前三名的姓名和成绩 使用DATA STEP语句创建一个新的数据集,包含前三名的姓名和成绩,并输出。语句如下:
data top3;
set score;
if _N_ <= 3; /* 只选取前三行 */
run;
proc print data=top3; /* 输出前三名的姓名和成绩 */
var name score;
run;
其中,data top3表示创建一个新的数据集top3,set score表示从数据集score中读取数据,if N <= 3表示只选取前三行,var name score表示输出姓名和成绩。 完整代码如下:
/* 导入数据集 */
data score;
input name $ score;
cards;
John 80
Mary 90
Tom 75
Peter 85
Susan 95
;
run;
/* 按成绩排序 */
proc sort data=score;
by descending score;
run;
/* 输出前三名的姓名和成绩 */
data top3;
set score;
if _N_ <= 3; /* 只选取前三行 */
run;
proc print data=top3; /* 输出前三名的姓名和成绩 */
var name score;
run;
输出结果为:
Obs name score
1 Susan 95
2 Mary 90
3 Peter 85