1 sort过程
例子:
DATA SCORE;
INPUT NUM $ S1-S3 @@;
CLAS=SUBSTR(num,3,2); /* 用SUBSTR函数从NUM中截取出班级CLAS */
TOT=SUM(OFS1-S3);
CARDS;
060101 79 9687 060102 69 78 92
060203 98 8793 060104 88 93 90
060201 76 8988 060207 90 89 97
;
proc print;
run;
PROC SORT DATA= SCORE OUT=CS1;
BY CLAS descending TOT;
PROC PRINT;
RUN;
Out输出数据集
By通过什么排序 【descending】 字段 descendingTOT按照tot倒序,不写表示默认方式,正序
2 print过程:
例子:
DATA ear_exp;
INPUT name $ reg $ wor $ earn exp @@;
CARDS;
LILING A 15500 4700 LIUHONG B 2 4600 4000
SUNPING B 25300 4800 ZHANGLI A 1 5300 4500
ZHAOGONG A 15600 4600 XIWANG B 1 8500 7400
WEIDONG A 15500 4500 ZHAOJUN A 2 4500 4000
WANGJIAN B 19800 8300 LIUYAN A 2 3500 3300
HUANGHUA A 23800 3500 ZHOULI A 2 3900 3700
QINWEI B 24900 4400 DONGYI B 1 15000 9000
ZHANGSAN B 110500 8800 WANGZI B 2 4900 4500
liujun A 18900 7790 DONGFENG B 1 11000 8090
FENGJUN A 18980 7720 KONGHAI A 1 12000 9000
PROC SORT ;
BY reg wor;
PROC PRINT ;
ID NAME;
BY reg wor;
SUM earn exp;
RUN;
PROC PRINT<选项>;
VAR 变量表
ID 变量表;
BY 变量表;
SUM 变量表;
3format过程
DATA score;
LENGTH name $ 12;
INPUT name t1-t3 @@;
CARDS;
WANGDONG 9070 60 XUEPING 85 95 88 ZHOUHUA 77 84 69
HEYAN 95 7888 SUNHONG 89 97 87 ZHAOBIN 66 98 86
;
PROC FORMAT (Library=l);
VALUE fsmt low-<60='C' 60-<80='B' 80-