第一篇:BASE SAS分为数据步的作用及生成数据集的方式

我是学经济相关专业毕业的,从事数据分析工作近一年,之前一直在用EXCEL,自认为EXCEL掌握的还不错。

今年5月份听说了SAS,便开始学习,这里总结分享下学习历程及体会:第一本书是《SAS9.2从入门到精通》,从这本书学习到基本的SAS知识,可以作为入门教程。

(本文为原创,禁止复制或转载,转载请标明出处:http://www.cnblogs.com/smallcrystal/p/4830855.html )

一、数据步的作用是生成SAS系统能够识别的数据集,包括对外部数据的处理(通过infile/import函数)、数据库文件(通过libname 逻辑库建立联系)或内部输入(input)。以“data ”开始,“run”结束。

  • 内部生成数据集结构为:

data 数据集名;

input 变量名1 变量名2 $ @@;

cards;

输入数据或字符以空格隔开 ;

run;

  • 将MYSQL中的数据导入生成数据集,结构为:

libname 逻辑库名  MYSQL user=登录数据库的用户名 password=密码  database=数据库名;/*通过libname 逻辑库建立与数据库的联系/

data 数据集名 set 逻辑库.数据库中的表名;

run;

  • 读入外部数据生成数据集,结构为:

(1)data 数据集;

infile  ‘外部文件所在的位置及名称及文件类型’ <选项>;/infile语句用来告诉SAS外部数据文件存储位置/

input 变量1 变量2 ;

run;

(2)通过宏变量

libname 逻辑库名;

%let 宏变量名1=’外部文件路径‘;

%let 宏变量名2=’.文件类型‘;

filename 文件名 “&宏变量名1&宏变量名2”;/*定义文件名引用宏变量,&宏变量,用双引号/;

(这样外部文件已经被filename定义的文件名取代了,filename用来指定文件路径所对应的逻辑名)

data 数据集;

infile 文件名 <选项>;/*读取文件名,infile语句和filename语句配合使用/

input 变量名1 变量名2;

……

run;

(3)import读取外部文件:以EXCEL为例

libname 逻辑库名;

proc import out=输出的数据集名 /*此处没有分号/

datafile=’要导入的EXCEL文件的完整路径及文件名.扩展名‘;

sheet=“表单名”;

getnames=yes;/第一行记录的是字段名,否则为NO

run;

data 数据集;

set 输出的数据集名;

run;

SAS系统可访问的外部文件及读取方式汇总:

TXT:INFILE/IMPORT

CSV:INFILE/IMPORT

EXCEL:INFILE/IMPORT

SPSS:IMPORT

MS ACCESS:ACCESS

ORACLE数据库:LIBNAME方式、PASSTHROUGH方式

libname是SAS数据库与其他数据文件实现数据交换的最主要的方式,可通过数据引擎读入其他分析文件数据集及其他数据库文件。

passthrough方式是通过connect语句建立SAS和其他数据库之间的通信,并使用sql过程将其他数据库数据直接导入到SAS系统。

SAS学习经验总结分享:篇一—数据的读取的更多相关文章

  1. SAS学习经验总结分享:篇五-过程步的应用

    之前已经介绍过BASE SAS分为数据步和过程步,过程步是对数据步生成的数据集进行分析和处理,并挖掘数据信息,写出分析报告做总结评价. (本文为原创,禁止复制或转载,转载务必标明出处:http://w ...

  2. SAS学习经验总结分享:篇四—SQL过程

    SQL过程 SQL过程是实现对数据集或关系数据库的表进行操作的过程,对数据集或关系数据库的表进行查询.修改.创建表.删除数据.插入数据和更新数据等功能.提现了SAS对大型数据库管理系统通用的SQL语言 ...

  3. SAS学习经验总结分享:篇三—SAS函数

    SAS函数学习 文章为原创,禁止复制或转载,转载请标明出处, http://www.cnblogs.com/smallcrystal/p/4842346.html 1.函数输写格式: 1)一般书写格式 ...

  4. SAS学习经验总结分享:篇二—input语句

    SAS编程语言中input语句的应用         SAS数据步的建立离不开input语句,在读入外部数据或cards语句后面的数据块时需要通过input语句定义变量.下面介绍input语句定义变量 ...

  5. R学习笔记 第三篇:数据框

    数据框(data.frame)用于存储二维表(即关系表)的数据,每一列存储的数据类型必须相同,不同的数据列的数据类型可以相同,也可以不同,但是,每列的长度必须相同.数据框的每列可以有唯一的命名,在已创 ...

  6. R学习笔记 第五篇:数据变换和清理

    在使用R的分组操作之前,首先要了解R语言包,包实质上是实现特定功能的,预先写好的代码库(library),R拥有大量的软件包,许多包都是由某一领域的专家编写的,但并不是所有的包都有很高的质量的,在使用 ...

  7. 跟Google学习Android开发-起始篇-构建你的第一个应用程序(4)

    说明:此系列教程翻译自Google Android开发者官网的Training教程,利用Chome浏览器的自动翻译功能作初译,然后在一些语句不顺或容易造成误解的地方作局部修正.方便英文不好的开发者查看 ...

  8. 从技术小白到收获BAT研发offer,分享我的学习经验和感悟(赠送相关学习资料)

    去年秋季参加了校园招聘,有幸拿到了BAT.头条.网易.滴滴.亚马逊.华为等offer,经过研究生两年的学习积累,终于达成了自己的目标,期间也经历了很多,谨以此文,聊表感叹,也会分享很多我的Java学习 ...

  9. mysql学习【第3篇】:使用DQL查询数据

    狂神声明 : 文章均为自己的学习笔记 , 转载一定注明出处 ; 编辑不易 , 防君子不防小人~共勉 ! mysql学习[第3篇]:使用DQL查询数据 DQL语言 DQL( Data Query Lan ...

随机推荐

  1. linux系统——etc下的profile文件

    /etc/profile文件 /etc/profile是全局的,适用于所有的shell.在刚登录Linux时,首先启动 /etc/profile 文件. profile文件会告诉shell使用什么语言 ...

  2. [USACO Section 5.3]量取牛奶 Milk Measuring (动态规划,背包$dp$)

    题目链接 Solution 完全背包 \(dp\) , 同时再加一个数组 \(v[i][j]\) 记录当总和为\(j\) 时第 \(i\) 种物品是否被选. 为保证从小到大和字典序,先将瓶子按大小排序 ...

  3. tomcat defaultServlet

    首先所有的请求进入tomcat,都会流经servlet,如果没有匹配到任何应用指定的servlet,那么就会流到默认的servlet. 默认的servlet是配置在$catalina/conf/web ...

  4. 免费tk域名+freewebhostingarea空间

    1.申请免费域名 进入http://www.dot.tk(推荐注册tk域名),申请一个新的域名,每次申请12个月以下是免费的,到期前14天可以免费续期 在此页面执行下一步之前,需要进行设置DNS服务器 ...

  5. [java]编程的智慧(转)

    编程是一种创造性的工作,是一门艺术.精通任何一门艺术,都需要很多的练习和领悟,所以这里提出的“智慧”,并不是号称一天瘦十斤的减肥药,它并不能代替你自己的勤奋.然而由于软件行业喜欢标新立异,把简单的事情 ...

  6. 解决mariadb数据库服务无法开启

    我的系统Manjaro linux,安装的数据库为mariadb 10.1 1.安装数据库 pacman -S mariadb 2.配置数据库启动环境: mysql_install_db --user ...

  7. C#使用DirectoryEntry类操作Windows帐户

    1.创建windows帐户 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 /// <summary> /// 创建Windows帐户 /// </summa ...

  8. Java使用apache的开源数据处理框架commons-dbutils完成增删改

    主要使用这个开源jar包的QueryRunner类的update方法来完成数据库的增删改操作. package demo; import java.sql.Connection; import jav ...

  9. Android自定义Dialog多选对话框(Dialog+Listview+CheckBox)

    先放效果截图 项目中需要有个Dialog全选对话框,点击全选全部选中,取消全选全部取消.下午查了些资料,重写了一下Dialog对话框.把代码放出来. public class MainActivity ...

  10. Codeforces 371A K-Periodic Array(模拟)

    题目链接 K-Periodic Array 简单题,直接模拟即可. #include <bits/stdc++.h> using namespace std; #define REP(i, ...