SAS第二讲编程创建SAS数据集
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
例 编写程序读入数据“例”。 例 编写程序读入数据“例”。
❖变量输入设定
按列输入模式
适用于字段固定格式源文件 一般形式: 变量名 <$> ;
优点:读入字段灵活,允许字符型变量中存在空格符与 其他特殊符号,缺失数据无特殊占位要求 缺点:没有设定输入格式,某些类型数据不能正确读入
例 使用按列输入模式读入数据“例”。
解决特殊格式的输入及 变量长度超过8的问题
例 编写程序读入数据“例”。
❖变量输入设定
读入模式的混合使用
可针对数据特点对不同字段使用不同读入方式 控制变量输入的关键词:指针位置、格式、分隔符 读入变量的原理:从指针位置(缺省为第列)读入第一个字段直 至 ()达到规定列;()遇到分隔符; ()达到规定长度(默认长度、格式规定或语句规定)
第二讲 编程创建数据集
❖步的一般形式 ❖变量输入设定 ❖步的编译与执行
❖步的一般形式
程序的基本内容和结构
基本内容:指明供操作的数据、对数据进行何种加工、期望 的输出结果 基本结构:数据步( )语句、过程步( )语句
程序的书写规则
每个语句以关键词开始,分号结束(不能是中文状态分号)
语句可以在任意列开始和结束,一个语句可以写成多行, 多个语句也可以写成一行 语句的词与词之间可以用一个或多个空格符或其他特殊字 符隔开 程序行数的添加: \\ ……
; ;
无其他选 项时Infile语 句可以省略
例 编写程序 读入数据 “例”。
❖变量输入设定
格式化输入模式
适用于字段固定格式源文件,以指针指定起始列,以输入 格式决定结束列 一般形式: 指针控制 变量名 输入格式…;
指针默认起始位置为第一列,读入 一个字段后指向下一列,依次读入 各个字段可缺省
@n:绝对位置 +n:相对位置
读入外部文件时,数据步每次迭代开始系统会为每个变 量置缺失值(除几种特殊情况);读入数据集时,只在第一 次执行时置缺失值,以后会保留其值直至新值写入
❖步的编译与执行
常见错误的排除
拼写错误 ——有些能够被系统自动矫正
遗漏语句 遗漏分号 引号或括号不配对 选项无效
例 尝试排除下列程序中的 错误 例,例,例
数 据 步 程 序
编 译 阶 段
执 行 阶 段
对源数据文件每条记录执行数据步 创建数据集的数据部分
❖步的编译与执行
数据步的编译阶段( )
检查程序的语法错误(词语、语法) 转换程序为机器码,供执行阶段使用 建立工作部件:输入缓冲器( ) 建立工作部件:( ) 确定数据集中变量的三个必须属性() 建立数据集描述部分
❖实验任务
❖实验任务
读入格式由两种情况决定: ()字符型默认(<$>)和数值型默认; ()指定格式;①与变量无冒号分隔:指针达到格式指定长度 ②与变量有冒号分隔:指针达到分隔符前一列
例 数据“例”的第一个变量为身份证号,从中读取出生年月 日产生一个新的变量。
❖步的编译与执行
扫描每个语句检查语法错误 创建数据集的描述部分
❖步的一般形式
数据步的一般形式
步一般形式: 数据集名;
文件名 <> <>; < 变量名 变量输入格式;> 变量输入设定; < 变量名 变量输出格式;> < 变量名‘变量标签’;> ;
例 编写程序读入数据“例”。
❖步的一般形式
数据步的一般形式
步一般形式: 数据集名;
(或) <其他选项>; < 变量名 变量输入格式; > 变量输入设定; < 变量名 变量输出格式;> < 变量名‘变量标签’;> (或); 数据列
由于引号不配对引起程序无法 终止时,可通过提交: 终止程序进程
❖步的编译与执行
语句的跟踪符号@
已读过的数据行会在下一个语句或数据步下一个循环中 被弃用
语句后加入一个@:保留数据行供下一个语句使用;加 入@@:保留数据行供下一个语句及下一个循环使用
例 考虑程序“例”的执行结果
❖实验任务
掌握数据步的一般形式与各种变量设定形式 了解数据步的编译与执行过程 掌握常见程序错误的排除方法
❖步的编译与执行
系统处理步的粗流程 源数据文件
_N_ _Error_
工作部件 数据集
由程序决定 由程序决定
❖步的编译与执行
数据步的执行阶段( )
中外部变量初始为缺失值(数值:句号,字符:空格)
输入原文件中每条记录至输入缓冲器,按语句读入 在数据步结束时缺省地将内容作为一条记录写入新的数 据集
回到数据步开始,重复①③直至源wk.baidu.com件最后一条记录
实验题
编写程序将数据“实验题”、“实验题”、“实验 题”、“实验题”创建为数据集,要求数据打印结果分 别如下图
实验报告完成要求:()文档需要命名为“学号姓名”(如: 陈文杰);()实验报告使用模板并且需包含粘贴过来的原始程 序及输出结果截图;()输出结果截图中必需包含程序运行的 时间
❖实验任务
❖实验任务
❖变量输入设定
列举输入模式
适用于分隔符固定格式源文件,依次读入由分隔符隔开的
各个字段
分隔符为空格时可缺省
一般形式:
文件名 <分隔符>;
可于input语句前 解决变量长度超过8的问题
变量名… <$> 长度…;
变量名 <$>…; 变量名:输入格式…;
默认长度为8,超过会截断
例 编写程序读入数据“例”。