- 1、本文档共12页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
SAS中的SQL语句完全教程之三
SAS中的SQL语句完全教程之三:SQL过程步的其它特征(转)2012年06月14日 ?SAS学习, 统计学习?暂无评论SAS中的SQL语句完全教程之三:SQL过程步的其它特征估计最近的一个数据分析要用到SQL,因此特地的翻了翻很久没看的SQL,未避免做重复无用的工作,在度娘上搜了搜,居然发现了一个跟我看同一本书的网友,讲解的还不错,因此果断的转了过来!原作者地址:/s/blog_5d3b177c0100cn8v.html?前面两部分内容都比较简单,本节内容才是本系列要介绍的重点。不过这里装的内容都是点到即止,如果以后有时间,会进行更详细地讲解。?1 SQL过程步选项SQL过程步选项的作用主要是可以从更细节的方式去控制SQL过程步,并且可以在不执行过程的情况下对程序进行测试等。下面介绍一下列出来的选项,这些选项大多经常用到,更多的选项可以参考SAS帮助。INOBS:进行一个查询时,对每个源数据表进行N行限制,仅对这N行的数据进行查询。OUTOBS:指定查询输出结果的观测数LOOPS:指定SQL过程步内循环的次数(此选项我用得比较少,谁明白的可以讲一下,多谢)NOPROMPT和PROMPT:修改上述三个选项的效果,从而让你选择是否继续或停止选项的效果。PRINT和NOPRINT:控制是否打印选择的数据结果NONUMBER和NUMBER:控制是否在第一列打印观测值编号DOUBLE和NOBOUBLE:输入报表是否隔行显示NOFLOW和FLOW和FLOW=n和FLOW=n m?:指定列宽,n指定列宽,m指定行宽????1.1 double选项proc sql?? double;select flight,datefrom MarchUNIONselect flight,datefrom Delay;quit;?1.2 inobs选项注意:这里inobs选项只读取每个源表前10条数据进行后续的操作,如下面的日志所示。两个表都只读取10条数据进行关联,最后得到7条关联好的数据。?237? proc sql inobs=10;238????? create table tmp as239????? select a.*,b.*240????? from March a,Delay b241????? where a.flight=b.flight and a.date=b.date;WARNING:?变量“flight”已经存在于文件WORK.TMP?中。WARNING:?变量“date”已经存在于文件WORK.TMP?中。WARNING:?变量“orig”已经存在于文件WORK.TMP?中。WARNING:?变量“dest”已经存在于文件WORK.TMP?中。WARNING: Only 10 records were read from WORK.DELAY?(别名=B)?由于?INOBS=?选项。WARNING: Only 10 records were read from WORK.MARCH?(别名=A)?由于?INOBS=?选项。NOTE:?表?WORK.TMP?创建完成,有?7?行,11?列。?1.3 outobs选项这个选项的功能与inobs相似,不同的是,这个选项指定结果的观测值数量,而不是读取源表的数量,这在我们控制输出结果的数据量时非常有用。?243? proc sql outobs=10;244????? create table tmp1 as245????? select a.*,b.*246????? from March a,Delay b247????? where a.flight=b.flight and a.date=b.date;WARNING:?变量“flight”已经存在于文件WORK.TMP1?中。WARNING:?变量“date”已经存在于文件WORK.TMP1?中。WARNING:?变量“orig”已经存在于文件WORK.TMP1?中。WARNING:?变量“dest”已经存在于文件WORK.TMP1?中。WARNING:?语句由于?OUTOBS=10?选项而过早终止。NOTE:?表?WORK.TMP1?创建完成,有?10?行,11?列。?1.4 prompt选项这里prompt选项,可以让你选择是否还是按照原来的设置进行动作,或者继续操作。如下面的日志所以,如果直接选择停止,则得到1.2的结果,如果一直按继续,则得到如下结果:?255? proc sql inobs=10 prompt;256????? create table tmp3 as257????? select a.*,b.*258????? from March a,Delay b259????? where a.fligh
文档评论(0)