网站大量收购闲置独家精品文档,联系QQ:2885784924

SAS统计分析软件SQL过程编程.ppt

  1. 1、本文档共39页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
SAS统计分析软件SQL过程编程

第23章 SQL过程编程 使用PROC SQL选项来建立和调试查询 语句格式: PROC SQL(OPTIONS) 可用PROC SQL选项对查询进行控制。 INOBS=, OUTOBS=和LOOPS=选项通过限制观测和反复的数量来减少程序运行的时间。 EXEC和VALIDATE语句快速检查查询的语法。 FEEDBACK选项展示出由SELECT *语句所选中的列。 ·PROC SQL STIMER选项记录和展示查询运行的时间。 优化查询 优化查询的方法包括: 使用简单索引index和复杂索引composite indexes 用set算符连接查询结果时,如果事先知道查询结果中没有重复的观测,或者允许结果有重复观测,可以使用关键词All来优化查询 在创建表和视图时不用ORDER BY子句。 使用线内视图代替临时表 使用连接join代替子查询 使用where表达式限制结果表的大小。 用表词典来访问SAS系统信息 表词典(DICTIONARY tables)是特殊的只读PROC SQL表。这些表包含所有的SAS数据逻辑库、SAS数据表、系统选项以及和SAS SESSION有关的外部文件信息。 使用DICTIONARY.TABLES 使用DICTIONARY.COLUMNS 在PROC SQL中使用宏工具 宏工具是一个很强大的编程工具,使用宏可以避免大量重复工作,改善SQL程序的性能和用途。 在PROC SQL中创建宏变量 使用宏工具:macro-variable可以储存查询结果。该结果可以通过宏变量被其它PROC SQL查询和SAS过程引用。 如果一个查询结果中有多个观测,则该宏变量只包含第一个观测的值。如果这个查询结果中没有观测,则不会创建宏变量。 PROC SQL的自动宏量SQLOBS包含了查询所产生的观测数量。 SELECT DISTINCT object-item ...object-item INTO macro-variable-specification ... macro-variable-specification FROM from-list 由查询结果的第一个观测创建宏变量 从汇总函数结果中创建宏变量 在宏变量中实现连接 使用宏创建表 例23.8 用宏计算制定代码和年份的股票交易天数。 proc sql noprint; create table trdays (stkcd char(6),trdays num); %macro trad(stkcd,year); select count(*) into :count from resdat.dret where stkcd=stkcd and year(date)=year; insert into trdays(stkcd,trdays) values(stkcd,count); %mend; %trad(000002,1999); %trad(000002,2000); %trad(000016,1999); %trad(000016,2000); quit; 第24章 SAS处理流程与指针控制 SAS处理流程 数据步定义 通过数据步可以实现的功能如下。 创建SAS数据集(SAS数据文件或SAS数据视窗); 读取外部数据文件创建SAS数据集; 通过对现有SAS数据集取子集、合并、修改和更新创建新的SAS数据集; 分析、操作或展示数据; 创建新变量; 产生报告、或将文件存储到硬盘或磁带上; 提取信息; 文件管理。 指针控制 列行指针控制 列指针控制指定变量从哪一列开始读入数据。 行指针控制可以实现如下控制: · 将指针移动至下一次记录行; · 在INPUT语句中定义每个观测所要读入的记录行数量,或在INFILE语句中使用N=选项设定每个观测所需读入的记录数量。 使用行固定说明符 下列情况发生时使用行固定说明符使得指针停留在当前的输入记录行上。 一个数据记录行被多个INPUT语句读入(单尾缀@)。 一个数据记录行包含多个观测所需要的值(双尾缀@@)。 一个数据记录行需要在下一个DATA步的重复过程中再次读入(双尾缀@@)。 单尾缀@ 一般来说,数据步中的每个INPUT语句都会将一条新的数据记录行读入输入缓冲区中,若用单尾缀@控制,则在同一个重复过程中: 指针位置没有改变。 没有新的记录行被读入到输入缓冲区当中。 下一个INPUT语句会继续读入同一条记录行。 SAS在使用单尾缀@时,会在碰到以下情况时释放一条记录行: 一个空的INPUT语句: input; 一个不带单尾缀@的input语句; 下一次重复过程开始。 双尾缀@@ 一般来说,若使用双尾缀@@,则数据步在进行下一次重复过程

文档评论(0)

wnqwwy20 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:7014141164000003

1亿VIP精品文档

相关文档