热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

SAS中的Order By  Proc Sort

SAS中的OrderBy-ProcSort1.排序procsortprocsort在按数据集中某一个变量或几个变量的升序或降序将记录重新排列,并把结果保存在输出数据集

SAS中的Order By - Proc Sort

1.排序proc sort
proc sort在按数据集中某一个变量或几个变量的升序或降序将记录重新排列,并把结果保存在输出数据集中,如果不另外指定输出数据集,则覆盖输入数据集。
在data步和proc步某些操作中,当需要用到by语句时,一般都需要源数据集按照by语句中的变量事先排序,这里就需要用到proc sort。

(1)语法格式
PROC SORT  ;
BY  variable-1 <... variable-n>;
proc sort一些常用的选项&#xff1a;
·数据集选项
data&#61; 输入数据集&#xff0c;缺省时使用最近创建的数据集
out&#61; 输出数据集&#xff0c;缺省时表示排序后覆盖源数据集
·排序序列选项
sortseq&#61; 指定排序的序列&#xff0c;这跟使用的操作系统有关&#xff0c;Windows/Unix都是ASCII编码&#xff0c;一般这个选项缺省就行&#xff1b;也可以直接在proc sort后面加上编码名称。
·修改排序次序的选项
reverse 使用由正常排序序列相反的排序序列对字符变量进行排序&#xff0c;可以被by语句中的descending选项取代&#xff0c;reverse只能用于字符变量。
equals|noequals 规定输出数据集中具有相同by变量的那些记录的次序&#xff0c;equals选项是保持在输入数据集中原来的相对次序&#xff0c;而noequals选项则没有这一限制。
·删除重复记录的选项
noduprecs 删除重复的记录&#xff0c;发生在排序后&#xff0c;将完全相同的记录删除。
nodupkey 删除重复的by变量记录&#xff0c;发生在排序中&#xff0c;sort过程读取输入数据集中的记录&#xff0c;在写入输出数据集时先比较by变量值&#xff0c;如有重复则部写入输出数据集。这个选项要小心使用&#xff0c;因为SAS会删除by变量重复的记录&#xff0c;而不管该记录是不是重复的&#xff0c;这样就会丢失有效的数据。
·其他选项
datecopy 保留数据集创建或修改的日期&#xff0c;缺省时排序也会被认为是修改&#xff0c;上次的修改时间就会被覆盖&#xff0c;可是有些时候我们并不希望SAS这么做。
force 强制排序&#xff0c;不管输入数据集是否已经排序或有索引&#xff0c;都进行重新排序
内存与磁盘优化选项排序在各种语言中是一种基本的算法&#xff0c;当数据集很大时会占用大量的计算机资源&#xff0c;这些选项提供算法在这方面的优化。

by语句
缺省情况下&#xff0c;是按照变量进行升序排列(ascending)&#xff0c;降序则要显性的用descending指明。
特别的是&#xff0c;这两个关键字应该写在变量的前面&#xff0c;而其他语言可能相反&#xff0c;如SQL将排序关键字放在变量之后。

(2)运行机制
proc sort会先检查输入数据集的排序信息&#xff0c;特别是sortedby&#61;选项&#xff0c;如果输入数据集提示已经按照by变量进行过排序&#xff0c;或者sort过程检测到数据集中记录的顺序按照by变量本来就是有序的&#xff0c;则proc sort就会偷懒&#xff0c;不进行排序&#xff0c;直接将输入数据集复制到输出数据集中&#xff1b;另外&#xff0c;如果输入数据集在by变量上已经创建索引&#xff0c;则也不进行排序&#xff0c;因为排序之后会破坏原来的索引。除此之外&#xff0c;proc sort才会进行排序。
那么&#xff0c;如果用户要强制sort过程进行排序呢&#xff1f;那就需要用到force选项了。
(3)实例
数据集按年龄大小进行排序&#xff0c;相同年龄的观测仍然按原来的次序。
proc sort data&#61;age equals;http://www.cda.cn/view/18248.html
    by age;
run;

转:https://www.cnblogs.com/amengduo/p/9587402.html



推荐阅读
  • C语言常量与变量的深入理解及其影响
    本文深入讲解了C语言中常量与变量的概念及其深入实质,强调了对常量和变量的理解对于学习指针等后续内容的重要性。详细介绍了常量的分类和特点,以及变量的定义和分类。同时指出了常量和变量在程序中的作用及其对内存空间的影响,类似于const关键字的只读属性。此外,还提及了常量和变量在实际应用中可能出现的问题,如段错误和野指针。 ... [详细]
  • Nginx使用(server参数配置)
    本文介绍了Nginx的使用,重点讲解了server参数配置,包括端口号、主机名、根目录等内容。同时,还介绍了Nginx的反向代理功能。 ... [详细]
  • [大整数乘法] java代码实现
    本文介绍了使用java代码实现大整数乘法的过程,同时也涉及到大整数加法和大整数减法的计算方法。通过分治算法来提高计算效率,并对算法的时间复杂度进行了研究。详细代码实现请参考文章链接。 ... [详细]
  • Android日历提醒软件开源项目分享及使用教程
    本文介绍了一款名为Android日历提醒软件的开源项目,作者分享了该项目的代码和使用教程,并提供了GitHub项目地址。文章详细介绍了该软件的主界面风格、日程信息的分类查看功能,以及添加日程提醒和查看详情的界面。同时,作者还提醒了读者在使用过程中可能遇到的Android6.0权限问题,并提供了解决方法。 ... [详细]
  • 目录浏览漏洞与目录遍历漏洞的危害及修复方法
    本文讨论了目录浏览漏洞与目录遍历漏洞的危害,包括网站结构暴露、隐秘文件访问等。同时介绍了检测方法,如使用漏洞扫描器和搜索关键词。最后提供了针对常见中间件的修复方式,包括关闭目录浏览功能。对于保护网站安全具有一定的参考价值。 ... [详细]
  • 如何实现织梦DedeCms全站伪静态
    本文介绍了如何通过修改织梦DedeCms源代码来实现全站伪静态,以提高管理和SEO效果。全站伪静态可以避免重复URL的问题,同时通过使用mod_rewrite伪静态模块和.htaccess正则表达式,可以更好地适应搜索引擎的需求。文章还提到了一些相关的技术和工具,如Ubuntu、qt编程、tomcat端口、爬虫、php request根目录等。 ... [详细]
  • android listview OnItemClickListener失效原因
    最近在做listview时发现OnItemClickListener失效的问题,经过查找发现是因为button的原因。不仅listitem中存在button会影响OnItemClickListener事件的失效,还会导致单击后listview每个item的背景改变,使得item中的所有有关焦点的事件都失效。本文给出了一个范例来说明这种情况,并提供了解决方法。 ... [详细]
  • 本文介绍了OC学习笔记中的@property和@synthesize,包括属性的定义和合成的使用方法。通过示例代码详细讲解了@property和@synthesize的作用和用法。 ... [详细]
  • 《数据结构》学习笔记3——串匹配算法性能评估
    本文主要讨论串匹配算法的性能评估,包括模式匹配、字符种类数量、算法复杂度等内容。通过借助C++中的头文件和库,可以实现对串的匹配操作。其中蛮力算法的复杂度为O(m*n),通过随机取出长度为m的子串作为模式P,在文本T中进行匹配,统计平均复杂度。对于成功和失败的匹配分别进行测试,分析其平均复杂度。详情请参考相关学习资源。 ... [详细]
  • Android系统移植与调试之如何修改Android设备状态条上音量加减键在横竖屏切换的时候的显示于隐藏
    本文介绍了如何修改Android设备状态条上音量加减键在横竖屏切换时的显示与隐藏。通过修改系统文件system_bar.xml实现了该功能,并分享了解决思路和经验。 ... [详细]
  • 本文详细介绍了MySQL表分区的创建、增加和删除方法,包括查看分区数据量和全库数据量的方法。欢迎大家阅读并给予点评。 ... [详细]
  • 本文介绍了一些Java开发项目管理工具及其配置教程,包括团队协同工具worktil,版本管理工具GitLab,自动化构建工具Jenkins,项目管理工具Maven和Maven私服Nexus,以及Mybatis的安装和代码自动生成工具。提供了相关链接供读者参考。 ... [详细]
  • 海马s5近光灯能否直接更换为H7?
    本文主要介绍了海马s5车型的近光灯是否可以直接更换为H7灯泡,并提供了完整的教程下载地址。此外,还详细讲解了DSP功能函数中的数据拷贝、数据填充和浮点数转换为定点数的相关内容。 ... [详细]
  • IT方面的论坛太多了,有综合,有专业,有行业,在各个论坛里混了几年,体会颇深,以前是论坛哪里人多 ... [详细]
  • PHP引用的概念和用法详解
    本文详细介绍了PHP中引用的概念和用法。引用是指不同的变量名访问同一个变量内容,类似于Unix文件系统中的hardlink。文章从引用的定义、作用、语法和注意事项等方面进行了解释和示例。同时还介绍了对未定义变量使用引用的情况,以及在函数和new运算符中使用引用的注意事项。 ... [详细]
author-avatar
卧龙先生八斗才
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有