sort过程用于将数据集的数据体按某些变量的值排序。它可以在数据步使用,也可以在加工步使用。sort过程的必要语句是proc sort语句和by语句。
proc sort语句的一般形式是:
- proc sort data=XX out=YY;
复制代码其功能是把数据集XX排序,存人数据集yy。例如: - proc sort data=wul out=zhan93;
复制代码
这一语句的作用是将数据集wul排序.产生新的临时数据集zhan93,将排好序的数据集存人数据集zhan93。若该语句没有“out一”选项,例如: 则排序后的数据集存人原有数据集wul.取代原有没排序的数据集wul。如果该语句没有“data=”选项,则将最新生成的数据集排序。例如,最新生成的数据集是
work.wan93: 则将最新生成的临时数据集wan93排序,排好序的数据集存人数据集wan93。 by语句的一般形式是: 其功能是先按变量1(外层)排序,再按照变量2(内层)排序……如果没有“descending”选项,则按变量以从先到后的顺序排序,即所排顺序是升序。如果想按某个变量降序排序,那么就应当在该变量前加选项“descending”。例如“proc sort;”与“by x z;”两语句的作用是先按x升序排列,再按z升序排列。又如“proc sort;”与“by x descending z;”两语句的作用是先按X升序排列,再按z降序排列。 而“proc sort;”与“by descending x descending z;”两语句的作用是先按X降序排列,再按z降序排列。升序排列的顺序是:空缺值“.”最前,其后是数字、字符和中文字符,同C语言的规定一样。
|