SAS编程技术变量输入输出格式
- 格式:ppt
- 大小:1.91 MB
- 文档页数:92


SAS语言概述SAS提供了一种完善的编程语言。
类似于计算机的高级语言,SAS用户只需要熟悉其命令、语句及简单的语法规则就可以做数据管理和分析处理工作。
因此,掌握SAS编程技术是学习SAS的关键环节。
在SAS中,把大部分常用的复杂数据计算的算法作为标准过程调用,用户仅需要指出过程名及其必要的参数。
这一特点使得SAS编程十分简单。
一、SAS程序SAS程序是SAS语句的有序集合。
SAS程序可分为两部分:1.数据步(DATAStep)2.过程步(PROCStep)在一份SAS程序中,通常有一个数据步和一个过程步.有时可能有多个数据步和多个过程步。
数据步是为过程步准备数据的且将准备好的数据放在数据集中,过程步是把指定数据集中的数据计算处理并输出结果。
二、SAS语句SAS语句是以SAS关键词开头、后跟SAS名、特殊字符或操作符组成,并且以分号结尾。
一个SAS语句规定了一种操作或为系统提供某些信息。
1.SAS关键字关键字是系统已赋于确定意义的一个单词。
在SAS语言里,除了赋值、求和、注释等语句外,多数语句是以其关键字作为开头的。
如DATA、FORMA,PROC、INFILE等都是相应语句的关键字。
2.SAS名在SAS语句中,可能出现的SAS名有变量名,数据集名,输出格式名,过程名,选择项名,数组名和语句标号名。
还有SAS对文件的一种特殊称呼叫逻辑库名和文件逻辑名。
SAS名是字母或下划线开头后跟宇母或数宇或下划线的字符串,字符个数不多于八个。
空格和特殊宇符(如$,@,#等)不许在SAS名中出现。
另外,SAS保留了一些特殊的变量名并赋于特定的意义,这些变量都是以下划线开头和结尾,如N_表示数据步已执行过的次数。
三、语句描述记号(1)关键字用英文书写,在写程序时,这些词必须严格以给出的拼写形式书写。
(2)[ ]内的项是可选项。
(3)…表示有多个项目四、SAS数据集“SAS数据集(DataSet)”是SAS中一种特定的数据文件。
一、VAR语句VAR语句在很多过程中用来指定分析变量。
在VAR后面给出变量列表:VAR 变量名1 变量名2 …变量名n;变量名列表可以使用省略的形式,如X1-X3,MATH--CHINESE等。
VAR用法例如:var math chinese;WHERE 语句WHERE 语句的格式很简单,只要后面跟用于数据筛选的逻辑表达式即可:WHERE logical-expression(s);下面的例子基于 test1 数据表生成 test2 数据表,但是只选择满足 sex='F' 并且 age>20 的数据行:data test2; set test1; where sex='F' AND age>20; run;表面看来,WHERE 语句和数据步骤中的SAS IF 语句的功能相近,都是筛选数据和。
实际上WHERE 语句和IF语句的运作机制是不同的。
WHERE 语句相当于对数据集执行了一个 SQL Select 的操作。
也就是说,在进入到操作前数据已经被整体筛选过了,而IF 语句是在数据步骤的每个循环中单独执行的,WHERE 语句显然效率要提高很多。
如果数据表是索引过的,那么WHERE 语句能够更加显著地提高效率。
WHERE 语句也有其限制。
因为它是对现存的数据表的整体性操作,故而只能对该数据表中已有的变量进行筛选操作,不能对数据处理后生成的变量操作,也不能对INPUT 语句定义的变量操作。
WHERE 语句不但能用于数据步骤中还能用于过程语句中。
操作符除了一般的 SAS 操作符(见SAS 语法),WHERE 语句还支持一些特有的操作符。
between ... and。
比如:where x between 10 and 20;其实相当于:where 10<=x<=20;contains。
字符串包含。
可以用问号代替。
比如:where firstname contains 'john'; where firstname ? 'john';is null 或is missing。