SAS编程基础知识.ppt

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

第2章 SAS编程基础 SAS语言组件 SAS文件系统 SAS逻辑库由一组SAS文件组成。SAS软件系统的信息组织有两层,第一层是SAS逻辑库,第二层是SAS文件。 SAS逻辑库是一个逻辑概念,本身不是物理实体,它对应的实体是操作系统下一个文件夹或几个文件夹中的一组SAS文件。 SAS语言元素 表达式 算术算符 比较算符 逻辑算符 其它算符 :连接字符算符“||” SAS变量 SAS变量分为数值变量和字符变量。 数值变量 数值变量是SAS系统以浮点(floating-point)方式存储的数据变量,数值变量包括日期和时间。 数值变量的值只能是数值。 字符变量 字符变量可以由阿拉伯字母、数字0-9以及其它一些特殊字符组成。 字符变量的值可以是字符、字母、特殊字符和数值。字符变量名后跟一个美元号($)表示该变量是字符型而不是数值型。 变量属性 SAS变量的属性包括:长度、输人输出格式和标签。未设定属性的变量在它们第一次出现时由系统给出。 变量的长度是指存贮变量值的字节数。缺省长度为8个字节。 变量的输人格式是指SAS系统读人变量值的方式。 变量的输出格式是指SAS系统展现变量值的方式。 变量的标签是指变量名的描述性标识,它至多可用256个字符。 创建变量 变量类型转换 字符自动转换为数值 函数INPUT将字符转换为数值 INPUT函数的形式: INPUT(数据源, 输入格式); 其中: 数据源为要转换为数值的变量,常数或表达式。数据源既可以是数值型,也可以是字符型。 输入格式规定对数据源进行转换的输入格式。 数值自动转换为字符 例2.19 数值自动转换为字符。 data; X=’10’; /*X为字符变量 */ Y=10; /*Y为数值变量 */ X=Y; /*自动将数值变量Y转换为字符变量 */ run; 函数PUT将数值转换为字符 PUT函数的形式: PUT(数据源, 输出格式); 其中: 数据源为要转换为字符值的变量,常数或表达式。数据源既可以是数值型,也可以是字符型。 输出格式规定对数据源进行转换的输出格式。 自动变量 自动变量是由数据步语句自动创建的。这些自动变量被加入到程序数据向量(PDV)中,但是并不输出到数据集中。自动变量在重复过程中被保留,而不是被设定为缺失。 错误类型与处理 句法错 词义错 运行错 例2.28 非法的数学运算。 data A; input Stock $ Money Price; vol= Money /Price; cards; 600001 1329 6.3 000895 2000 0 ; run; 例中,0作除数是非法的数学运算。 数据错 例2.29 数值变量读字符值。 data A; input Name $ Age; cards; Wang 35 Zhang A2 Hu 22 ; proc print; run; SAS输出 1-SAS日志 2-程序结果 3-SAS 控制台日志 SAS程序 SAS程序由多个SAS语句构成。SAS程序中的语句可分为两类步骤: ? 数据步,用来处理输入数据 ; ? 过程步,通过一系列SAS语句来调用和执行程序,通常以一个SAS数据集作为输入数据。 。 书写规则 SAS语句的书写规则灵活自由: 语句可在行的任一列开始; 一个语句可以分写为多行; 多个语句可以写在同一行; 语句中各项之间至少用一个空格或特殊字符隔开; 应遵守的书写规则: 不同程序步间留空行; 每条语句都要另起行。 比较规范的书写有助于阅读和检查,还可以减少书写错误。 注释语句的两种格式: /* 注释内容 */ * 注释内容; SAS函数定义 SAS函数是一个子程序,对自变量返回一个结果值。 SAS函数的形式: 函数名(X1, X2, …) 函数用于组合表达式可以简化编程和统计计算 例3.1 表达式中用函数。 data a(keep=date y d min); /*保留date, y, d, min四个变量*/ set ResDat.idx000001; y=year(date); /*函数year给出变量date年份*/ d=weekday(date); /*函数weekday给出变量date在一周内的哪一天*/ min=min(sum(oppr, hipr, lopr,clpr),1000); run; 例3.2 条件语句中使用函数。 data a; set ResDat.idx000001; where year(date)1996; /* Where语句中使用Year函数 * run; 用函数处理多变量可以简化

文档评论(0)

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

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

1亿VIP精品文档

相关文档