SAS进阶《深入解析SAS》之Base SAS基础、读取外部数据到SAS数据集
SAS进阶《深入解析SAS》之Base SAS基础、读取外部数据到SAS数据集
前言:在学习完《SAS编程与商业案例》后,虽然能够接手公司的基本工作,但是为了更深入的SAS学习,也为了站在更高的一个层次上去掌握和优化公司工作,故而又咬紧牙关加紧学习《深入解析SAS》.就目前的两本书的对比,显而易见的是本书比《SAS编程…》要厚的多,再者内容更新是2015年著,最后是内容详实。没办法,这本书的作者团队过于强大。总之,是一本很好的SAS进阶书。
1. SAS运行模式:SAS窗口模式、非交互模式、批处理模式及交互式行模式。还有对象服务器模式:SAS元数据服务器、工作区服务器、存储过程服务器和OLAP服务器。
2. SAS数据集包含以表的观测(行)和变量(列)为形式存在的数据值,以及用以描述变量类型、长度和创建该数据集时使用的引擎等信息的描述信息。
3. 数据集可分为数据文件和数据视图。
4. 数据文件包含数据和描述信息,在逻辑库中是DATA;而SAS视图不包含数据值,是指向其他数据源的虚数据集,成员类型是VIEW。都包括原生和接口。
5. 字符型变量缺失值是空格,而数字型的变量缺失值是点(.)。
6. 读取外部文件
DATA 数据集迷彩;
INFILE 数据文件为准;
INPUT 变量列表;
RUN;
7. 使用INFILE与的选项DLM=指定分隔符,空格为缺失值;DSD默认为逗号,两个连续的逗号被当做缺失值。
8. SAS先编译LENGTH语句。
9. 列表输入、按列输入、格式化输入。
10. 使用/行指针控制符,强制读入新行到缓冲区://强制依次读入两行,/读入下一行
使用#n行指针控制符,直接在多行的输入缓冲区中移动行指针:#3将行输入指针移动到输入缓冲区的第三行。
11. IMPORT过程导入的导入数据的基本形式如下:
PROC IMPORT
DATAFILE=文件名|文件引用|DATATABLE=表名
DBMS=数据源标识符
OUT=数据集名称;
RUN;
12. SAS/ACCESS接口引擎提供以下方法访问关系型DBMS中的数据:
12.1使用LIBNAME语句将SAS逻辑库引用名定义到DBMS对象,例如schema和数据库。
12.2使用SQL转交(path-through)功能。通过该功能,在SAS会话中可以使用原生SQL语法与数据源交互,这些SQL语句会直接交给数据源处理。
13. SQL (结构化查询语句Structured Query Language)
DBMS(数据库管理系统Database Management System)
14. 使用SQL转交功能的基本形式如下
PROC SQL;
CONNECT TO 数据库名称<AS 别名><(<数据库连接参数>)>;
EXECUTE(数据库特定SQL语句)BY数据库名称|别名;
SELECT 列列表FROM CONNECTION TO 数据库名称|别名 (数据库查询);
DISCONNECT FROM 数据库名称|别名;
QUIT;
SAS进阶《深入解析SAS》之Base SAS基础、读取外部数据到SAS数据集的更多相关文章
- SAS进阶《深入解析SAS》之对多数据集的处理
SAS进阶<深入解析SAS>之对多数据集的处理 1. 数据集的纵向串接: 数据集的纵向串接指的是,将两个或者多个数据集首尾相连,形成一个新的数据集. 据集的横向合并: 数据集的横向合并,指 ...
- SAS进阶《深入解析SAS》之SAS数据挖掘的一般流程
SAS进阶<深入解析SAS>之SAS数据挖掘的一般流程 1. 所谓数据挖掘,是指通过对大量的数据进行选择.探索与建模,来揭示包含在数据中以前不为人所知的模式或规律,从而为商业活动或科学研究 ...
- SAS进阶《深入解析SAS》之开发多语言支持的SAS程序
SAS进阶<深入解析SAS>之开发多语言支持的SAS程序 1. 多语言支持的应用程序是指该程序在世界给第使用时,其能够处理的数据,以及处理数据的方式.信息展现的方式都符合当地的语言.文化习 ...
- SAS进阶《深入分析SAS》之数据汇总和展现
SAS进阶<深入分析SAS>之数据汇总和展现 1. 通过Print过程制作报表 proc print <data=数据集>; run; 选项: obs=修改观测序号列标签 no ...
- sas通过IMPORT过程读取外部文件数据
SAS通过IMPORT过程读取外部文件数据 使用IMPORT过程导入带分隔符的文件外,Microsoft Access数据库文件.Miscrosft Excel工作簿. dBase文件.JMP文件.S ...
- js进阶ajax读取json数据(ajax读取json和读取普通文本,和获取服务器返回数据(链接)都是一样的,在url处放上json文件的地址即可)
js进阶ajax读取json数据(ajax读取json和读取普通文本,和获取服务器返回数据(链接)都是一样的,在url处放上json文件的地址即可) 一.总结 ajax读取json和读取普通文本,和获 ...
- (转)Unity3D移动平台动态读取外部文件全解析
Unity3D移动平台动态读取外部文件全解析 c#语言规范 阅读目录 前言: 假如我想在editor里动态读取文件 移动平台的资源路径问题 移动平台读取外部文件的方法 补充: 回到目录 前言: 一直有 ...
- html文件在head标签中引入js地址和直接写js代码,所用时间是不同的,因为引入js地址,文件加载的时候需要通过通讯协议去解析地址,读取外部文件
html文件在head标签中引入js地址和直接写js代码,所用时间是不同的,因为引入js地址,文件加载的时候需要通过通讯协议去解析地址,读取外部文件
- 慕容小匹夫 Unity3D移动平台动态读取外部文件全解析
Unity3D移动平台动态读取外部文件全解析 c#语言规范 阅读目录 前言: 假如我想在editor里动态读取文件 移动平台的资源路径问题 移动平台读取外部文件的方法 补充: 回到目录 前言: 一 ...
随机推荐
- pyhthon第一个小脚本——文件备份
先说说这个脚本的作用:对指定路径的文件进行压缩备份到另一个指定的路径,并且压缩文件的文件名用当时的日期+时间命名. 先是对着<简明Python教程>上的代码敲的,一堆错误,书上给的是lin ...
- nyoj 108 士兵杀敌(一)
士兵杀敌(一) 时间限制:1000 ms | 内存限制:65535 KB 难度:3 描述 南将军手下有N个士兵,分别编号1到N,这些士兵的杀敌数都是已知的. 小工是南将军手下的军师,南将军现在 ...
- poj 1659 判断是否能构成图Havel-Hakimi定理
//用到了Havel-Hakimi定理,判断是否能够构图 //两种情况不能构图,1:对剩下序列排序后,最大的度数超过了剩下的顶点数 // 2:对最大的度数后面的f个度数减-后,出现了负数 //记录到临 ...
- 轰炸III
题目背景 一个大小为N*M的城市遭到了X次轰炸,每次都炸了一个每条边都与边界平行的矩形. 题目描述 在轰炸后,有Y个关键点,指挥官想知道,它们有没有受到过轰炸,如果有,被炸了几次,最后一次是第几轮. ...
- 稍微成型点的用WEBSOCKET实现的实时日志LOG输出
难的是还是就地用JS显示出来相关的发布进度. 还好,花了一下午实现了. 可以移植到项目中去罗... websocket.py: import tornado.ioloop import tornado ...
- Android 内存管理
1.Activity中的对象生命周期勿大于Activity的生命周期.OOM演示样例代码例如以下: private static Drawable sBackground; @Override pro ...
- BEGINNING SHAREPOINT® 2013 DEVELOPMENT 第12章节--SP 2013中远程Event Receivers
BEGINNING SHAREPOINT® 2013 DEVELOPMENT 第12章节--SP 2013中远程Event Receivers 本章中,你讲学到: 了解远程evernt ...
- Android自己定义控件系列案例【五】
案例效果: 案例分析: 在开发银行相关client的时候或者开发在线支付相关client的时候常常要求用户绑定银行卡,当中银行卡号一般须要空格分隔显示.最常见的就是每4位数以空格进行分隔.以方便用户实 ...
- Ubuntu12.04.3LTS安装Oracle Java 7
今天在ubuntu 12.04 LTS 上安装Matlab时总是出错,显示拷贝jar包(cp "xx.jar")出现错误,在网上搜索了一下发现原来是没有安装java.自己打算安装o ...
- iOS开发- SceneKit
打开你的Xcode 6然后新建一个项目,选择iOS/Application/Game模板然后点击Next. 将项目命名为QuickStart,选择开发语言为Swift,然后游戏选用的平台技术选择为Sc ...