- 1、本文档共15页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第二章 SAS语言基本概念
§2.1 SAS语言概述
SAS提供了一套完善的编程语言。类似于多数计算机高级语言,使用SAS的用户只需要熟悉其命令、语句及简单的语法规则就可以做数据管理和分析处理工作。因此,掌握SAS编程技术是学习SAS的关键环节。在SAS中,把大部分常用的复杂数据计算的算法作为标准过程来调用,用户仅需要指出过程名及其必要的参数。这一特点使得SAS的编程十分简单。
SAS程序是SAS语句的有序集合。本书的以后章节中将逐一介绍SAS的主要语句。 如果以程序段的功能将SAS程序划分成多个模块的话,那么, 这些模块分为两类:数据准备模块------数据步(DATA Step)和数据分析处理模块------过程步(PROC Step)。在一份 SAS程序中可能有多个数据步和多个过程步,通常的情形为一个数据步和一个过程步。
SAS程序数据步
SAS程序
数据步
·
·
·
CARDS;
;;;
过程步
·
·
·
;
SAS数据集
数据行
ASCII文件
SAS输出窗口
或者
GRAPH窗口
SAS数据集
数据源
图 2.1 SAS程序中数据流向示意图
数据步的作用是把数据源中的数据作为输入,经过整理加工后输出到一个或多个叫做“SAS数据集(SAS Data Set)”的特殊文件中去。 数据源可能是DOS的ASCII码文件, 也可能是直接写在SAS源程序中尾随CARDS语句之后用空格分隔的一批数据(数据行),还可能是已经存在的SAS数据集。
在过程步中,可以调用一个或多个标准过程。过程步是把由数据步建立和产生的数据集中的数据作为输入, 经标准过程计算处理后, 将结果以清晰的表格或图形方式输出到输出窗口或写入磁盘文件。
粗略地说,数据步是为过程步准备数据的,并且将准备好的数据放在数据集中。过程步是把指定数据集中的数据经计算处理后并输出结果。图2.1 给出在一个数据步和一个过程步组成的SAS程序中数据流向示意图。
§2.2 SAS 语句
SAS语句是以SAS关键词开头、后跟SAS名、特殊字符或操作符组成,并且以分号结尾。一个SAS语句规定了一种操作或为系统提供某些信息。下面是一些SAS语句的例子:
PUT x $15.;
DATA one;
FORMAT value1 abcd;
PROC MEANS DATA=store.supply MAXDEC=3;
INFILE rawdata ;
DO i=1 TO DIM(eachitem);
key1: total+1;
在这七个语句中,x,value1,total和i是变量;one和store.supply是数据集名;store是逻辑库名;$15.是输出格式;abcd 是格式名; MEANS 是一个过程名; DATA= 和MAXDEC=是过程MEANS的选项;rawdata是一个文件逻辑名;在DO语句中,DIM( ) 是一个函数名,作为函数DIM( ) 参数的eachitem是一个数组名;key1是一个语句标号;total+1是一个累加语句,这里包含了一个常数1。
2.2.1 SAS关键字(SAS Keywords)
关键字是系统已赋于确定意义的一个单词。在SAS的程序中,除了赋值、求和、 注释和空等语句外,多数语句是以其关键字作为开头的。如上例中的PUT、DATA、FORMAT、PROC、 INFILE和DO都是相应语句的关键字。
2.2.2 SAS名(SAS Names)
在SAS语句中,可能出现的SAS名有变量名、数据集名、输出格式名、过程名、选择项名、数组名和语句标号名。还有SAS对文件的一种特殊称呼叫逻辑库名和文件逻辑名。SAS名是以字母或下划线开头后跟字母或数字或下划线的字符串,字符个数不多于八个。空格和特殊字符(如$,@,#等)不许在SAS名中出现。另外,SAS保留了一些特殊的变量名并赋于特定的意义,这些变量都是以下划线开头和结尾,如_N_ 表示当前数据步已执行过的次数。
2.2.3 本书的语句描述记号
(1) 大写英文是关键字,在写程序时,这些词必须严格以给出的拼写形式书写。
(2) 小写英文和汉字指定的项目由程序员提供。
(3) [ ]内的项是可选项。
(4) ...表示有多个项目。
§2.3 SAS数据集
“SAS数据集(SAS Data Set)”是SAS的一种特定的数据文件。它是由SAS 程序的数据步或者交互方式产生的,SAS数据集是过程步的输入。SAS数据集是一个数据值的集合。形象的讲,SAS数据集是一个数据值构成的矩形表。它的行叫观测(Observations
您可能关注的文档
- 第九章 粮食的贮藏原理及技术.ppt
- 福师09秋学期《德育论》在线作业二附答案.doc
- 第二次上机练习.doc
- 第二模块试题库(修正).doc
- 第二次课2交际用语上.ppt
- 第二次上机作业参考答案.doc
- 第二章 汇编语言与汇编程序.doc
- 福师2014秋心理学作业一、二答案.doc
- 第九章 金融资产(课后作业 ).doc
- 第二章 营业税实务操作指南.doc
- 数据仓库:Redshift:Redshift与BI工具集成.docx
- 数据仓库:Redshift:数据仓库原理与设计.docx
- 数据仓库:Snowflake:数据仓库成本控制与Snowflake定价策略.docx
- 大数据基础:大数据概述:大数据处理框架MapReduce.docx
- 实时计算:GoogleDataflow服务架构解析.docx
- 分布式存储系统:HDFS与MapReduce集成教程.docx
- 实时计算:Azure Stream Analytics:数据流窗口与聚合操作.docx
- 实时计算:Kafka Streams:Kafka Streams架构与原理.docx
- 实时计算:Kafka Streams:Kafka Streams连接器开发与使用.docx
- 数据仓库:BigQuery:BigQuery数据分区与索引优化.docx
文档评论(0)