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;

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏性能与架构

mongodb与sql在查询上的区别

之前在“这个场景更适合使用NoSQL”文章中通过和SQL的对比 介绍了NOSQL数据存储结构的特点,一位朋友看后希望再介绍下NOSQL查询方面的特点 这里以N...

3105
来自专栏IT派

使用 Pandas 处理亿级数据

在数据分析领域,最热门的莫过于Python和R语言,此前有一篇文章《别老扯什么Hadoop了,你的数据根本不够大》指出:只有在超过5TB数据量的规模下,Hado...

994
来自专栏牛客网

美团面试问的题目

1、hashMap的2倍扩容机制为什么是2倍 2、在java8和java7中,hashMap的hash函数有什么不同 3、100个数字排序怎么做?100万个数字...

3966
来自专栏逆向技术

内核开发知识第一讲.内核中的数据类型.重要数据结构.常用内核API函数.

  在内核中.程序的编写不能简单的用基本数据类型了. 因为操作系统不同.很有可能造成数据类型的长度不一.而产生重大问题.所以在内核中.

772
来自专栏MasiMaro 的技术博文

Windows平台下的内存泄漏检测

在C/C++中内存泄漏是一个不可避免的问题,很多新手甚至有许多老手也会犯这样的错误,下面说明一下在windows平台下如何检测内存泄漏。 在windows平...

712
来自专栏函数式编程语言及工具

Scalaz(31)- Free :自由数据结构-算式和算法的关注分离

   我们可以通过自由数据结构(Free Structure)实现对程序的算式和算法分离关注(separation of concern)。算式(Abstrac...

1919
来自专栏大数据挖掘DT机器学习

使用Python Pandas处理亿级数据

原文:http://www.justinablog.com/archives/1357?utm_source=tuicool&utm_medium=refer...

3127
来自专栏KK的小酒馆

SQlite数据库简介Android网络与数据存储

SQLite看名字就知道是个数据库,Android专门为移动端内置了此种轻量级工具,并且为了方便在Java语言中进行数据库操作,编写了SQLiteOpenHel...

733
来自专栏WindCoder

异步JavaScript:从回调地狱到异步和等待

这是一个典型的异步编程挑战,您如何选择处理异步调用,在很大程度上,会导致或破坏您的应用程序,并且可能是您的整个启动。

561
来自专栏牛肉圆粉不加葱

Spark Sql 源码剖析(一):sql 执行的主要流程

之前写过不少 Spark Core、Spark Streaming 相关的文章,但使用更广泛的 Spark Sql 倒是极少,恰好最近工作中使用到了,便开始研读...

671

扫码关注云+社区