SAS初学者笔记---001
SAS初学者笔记---001
- sas界面介绍
- 001 顶部菜单栏
- 002 results与explorer
- 003 主窗口部分
- sas代码执行规则
- 关于SAS程序执行的步骤
- 代码格式
这是一篇关于SAS入门学习的笔记,本文参考内容多为本校老师上课的PPT以及官方文档,且鉴于作者水平有限,希望读者谨慎借鉴。
sas界面介绍
如图所示,界面主要由红色箭头所指内容构成,接下来将简要介绍其中的内容。
001 顶部菜单栏
这一部分主要是对SAS软件本身(如代码格式,文件读取,窗口化视图等)进行基础的设置。作者个人已经安装好了增强版编辑器,此处便链接几个关于增强编辑器安装的博客
文刀煮月-SAS9.2的增强编辑器注册解决方案
SAS官方对于Enhance editor的使用介绍–基于SAS9.4
关于顶部菜单栏,此处作者简要介绍一下个人较为常用的几个操作。
- 文件保存、读取、录入文件等。
- 1号区域与二号部分的功能相同,皆为新建一个程序窗口,需要注意的是当光标定位在编辑器窗口时1与2 会合并在一起
- 3号区域是保存
- 四号区域是导入外部数据,这一部分在关于数据集建立时再详细介绍
- 5号区域是打开最近的文件
- 窗口格式设置
如图所示即为更改窗口格式的操作
002 results与explorer
- results窗口是诸多输出结果的集合,在这里面你能够找到从软件打开到现在所有执行过输出的程序结果,其中结果包括web形式输出到results窗口里的数据集以及输出到output窗口的数据集
- explorer窗口是SAS软件的数据管理窗口,
其中Liabraies是SAS存放逻辑库的库,其中存放了包括SAS本身建立的默认逻辑库以及个人建立的逻辑库,逻辑库中存放着数据集。
File Shortcuts不太懂,从来没用过。
Favorites Folder与此电脑均用于管理本地数据。可以直接调用相关应用打开里面的文件
003 主窗口部分
- Program Editor 窗口,用以编写SAS程序代码
- Output与results窗口,用以显示print指令或其他数据步的结果,其中results窗口所输出的内容是由SAS编译的html文件,配合ODS系统,可以将输出结果用浏览器打开,关于ODS的用法,后续内容会提到(大概)
- Log窗口,LOG窗口包含SAS日志,它是当前SAS会话的记录。一个典型的记录显示:在当前会话中发布的SAS语句;注释、警告和出错信
如图所示,黑色部分为Editor窗口执行的代码,红色提示出现错误,蓝色提示正常,绿色提示警告信息,具体信息以提示内容为准
sas代码执行规则
Data a;
Input x @@;
no = _n_;
z=x+3;
DO n = 1 TO 4;
OUTPUT;
END;
Cards;
6 4 8
;
Run;
proc print;
run;
如上所示代码
首先明确代码分为三部分
第一部分是数据步的指令代码
Data a;
Input x @@;
no = _n_;
z=x+3;
DO n = 1 TO 4;
OUTPUT;
END;
此部分代码是控制数据步生成数据的重要指令,包括从cards中读取代码、执行循环、赋值变量等。
第二部分是数据步的中的数据部分
cards;
6 4 8
;
run ; /*作为数据步的结尾运行指令*/
程序执行时,数据步中的input指令将从此处读取数据
第三部分是过程步的print指令
proc print;
run;
平平无奇的打印代码,将代码输出至result窗口以及output窗口
关于SAS程序执行的步骤
程序从代码顶端开始执行各项指令
- Data指令提示程序这是一个数据步,程序创造三个项目,分别是:
- input buffer 数据的存储缓冲区域,如果代码中有input语句,此区域内将会存入cards内的数据
- pdv(program data vector) 程序逻辑区域
- descriptor information 数据集属性和变量属性的描述信息
- input指令提示读取input buffer中的数据,一次只读取一行cards数据。
- 按顺序读取其他指令,如演示代码中,代码进入循环步骤,此时程序将执行循环后再继续执行,循环内有赋值语句,添加output语句,使其在每次执行循环后将变量值输出到数据集中,直到遇到end,循环结束,执行下面步骤
可以看到,output的添加使得循环赋值的n每次都被输出到数据集中,否则n的值会被后一次循环的结果所覆盖,直到最后一次执行循环。 - 程序执行到cards语句时,程序返回最开始重复以上步骤,重复时遇到input语句将会换行至下一行进行读取,此处添加了标志符号 @ ,所以在程序返回开始执行下一次的input命令时不换行。
代码格式
书写格式
SAS语句可以从一行上的任意位置开始;几个SAS语句可以写在同一行上;一个语句也可以写成几行,只要语句中的单词不被断开即可;
在一条语句中各项之间至少要有一个空格;
SAS对大小写不敏感。即SAS语句用大写字母、小写字母或大、小写混合书写均可。
注意:字符串及字符变量的取值要区分大小写注释
SAS语句中有一个注释语句,形式为:
/*注释内容*/
使用快捷键为 ctrl + /
撤销注释的快捷键为 ctrl + shift + /
/*打印数据*/
Proc print data=a;
Run;
内容还有很多没有涉及到,剩下的作者将会一一补充完整、
SAS初学者笔记---001相关推荐
- SAS初学者笔记---003---利用数据步读取数据--逻辑库
003---利用数据步读取数据--逻辑库/变量输出与删除 创建逻辑库 创建逻辑库 在逻辑库中建立\调用数据集 建立数据集 调用逻辑库中的数据集 还是接之前的文章,现在继续介绍关于使用SET语句读取sa ...
- 【经典】吴恩达——机器学习笔记001
[经典]吴恩达--机器学习笔记001 机器学习(Machine Learning)笔记001 学习地址:[中英字幕]吴恩达机器学习系列课程 文字版参考及PPT来源:Coursera-ML-Andrew ...
- SAS学习笔记之《SAS编程与数据挖掘商业案例》(4)DATA步循环与控制、常用全程语句、输出控制...
SAS学习笔记之<SAS编程与数据挖掘商业案例>(4)DATA步循环与控制.常用全程语句.输出控制 1. 各种循环与控制 DO组 创建一个执行语句块 DO循环 根据下标变量重复执行DO和E ...
- Disruptor本地线程队列_实现线程间通信---线程间通信工作笔记001
Disruptor本地线程队列_实现线程间通信---线程间通信工作笔记001 看到同事用这个东西了,这个挺好用的说是,可以实现,本地线程间的通信,好像在c++和java中都可以用 现在没时间研究啊,暂 ...
- SAS学习笔记之《SAS编程与数据挖掘商业案例》(3)变量操作、观测值操作、SAS数据集管理...
SAS学习笔记之<SAS编程与数据挖掘商业案例>(3)变量操作.观测值操作.SAS数据集管理 1. SAS变量操作的常用语句 ASSIGNMENT 创建或修改变量 SUM 累加变量或表达式 ...
- SAS学习笔记之《SAS编程与数据挖掘商业案例》(2)数据获取与数据集操作
SAS学习笔记之<SAS编程与数据挖掘商业案例>(2)数据获取与数据集操作 1. SET/SET效率高,建立的主表和建表索引的查询表一般不排序, 2. BY语句,DATA步中,BY语句规定 ...
- 小啊呜产品读书笔记001:《邱岳的产品手记-05》第9讲 产品案例分析:Hopper的“人工智能” 第10讲 产品被抄袭了怎么办?
小啊呜产品读书笔记001:<邱岳的产品手记-05>第9讲 产品案例分析:Hopper的"人工智能" & 第10讲 产品被抄袭了怎么办? 一.今日阅读计划 二.泛 ...
- 小啊呜产品读书笔记001:《邱岳的产品手记-07》第13讲 无用却必要:产品规划【上】 第14讲 留白与节奏:产品规划【下】
小啊呜产品读书笔记001:<邱岳的产品手记-07>第13讲 无用却必要:产品规划[上] & 第14讲 留白与节奏:产品规划[下] 一.今日阅读计划 二.泛读&知识摘录 1. ...
- 自动驾驶技术——初学者笔记1:自动驾驶分级
自动驾驶技术--初学者笔记1:自动驾驶分级 最近正在研读工信出版社的<第一本无人驾驶技术书>,这里做一下笔记,这一章作为写博客的测试篇章. 自动驾驶技术的分级. 分级又两种:美国公路交通安 ...
最新文章
- 再见中台,你好!企业数字化转型
- 防止Excel导入超大带格式文本乱码的方法
- mysql 查询多边形_mysql中判断一个点是否在多边形中
- 编程之美-电梯调度算法方法整理
- java银行叫号模拟系统_Java 模拟银行叫号机
- 【渝粤教育】电大中专测量学 (5)作业 题库
- IDEA 同一个工程下不同模块之间的类相互调用
- maven javaProject打包发布成服务
- 使用UTL_SMTP包发送邮件
- 损失函数、tensorflow2实现——Python实战
- C#:获取Web.config中数据库连接地址
- python4.2_python4.2参数传入
- linux断点续传程序,Linux中实现断点续传的原理
- win7下配置python_win7如何配置Python环境变量
- 〖Python自动化办公篇⑰〗- PPT 文件自动化 - PPT 插入表格与图片
- 拟物化设计与扁平化设计
- 出现HTTPS证书错误原因
- HTPPS的域名部署项目请求头xx_xx问题解决
- php 判断字符串类型及长度
- Java 中怎么打印数组?