[TOC]

1 临时和永久数据集

SAS数据集名称

SAS数据集有临时和永久两种存在方式。所有的SAS数据集都有一个两级名称,两个层级之间用句点.分隔。

第一层级:逻辑库引用名

第二层级:数据集名称

注意,两级名称出现在 DATA 语句和 DATA= 选项中

逻辑库引用名、数据集名称都遵循SAS命名的标准规则:以字母或下划线开始,且只包含数字、字母或下划线。此外,逻辑库引用名长度不超过8个字符,数据集名称不超过32个字符。   临时SAS数据集

没有声明逻辑库引用名的数据集,都是临时数据集,默认保存在 WORK 逻辑库中,会话结束时,会被SAS删除。   永久SAS数据集

创建永久SAS数据集,需要使用逻辑库引用名。而使用之前需要先进行定义,可以使用新建逻辑库 或 LIBNAME语句进行定义。

示例:libname zdata "C:\user\datafile" ;

2 通过LIBNAME语句使用永久SAS数据集(libname)

LIBNAME语句定义逻辑库引用名,是SAS中创建逻辑库最常见的方法。其基本形式如下:

libname 逻辑库名称 '逻辑库保存路径' ;

注意,在不同系统操作环境下,路径会有所不同。   创建永久SAS数据集

libname zdata 'D:\data'; /* 1.创建逻辑库引用名zdata */

data zdata.plants; /* 3.存储读取的数据到命名为plants的永久数据集中 */

infile 'D:\data\sas_file\test.dat'; /* 2.从名为test的文件中读取原始数据 */

上面这段程序,运行逻辑是先1,再2,最后3。、   读取永久SAS数据集

要使用永久SAS数据集,可以在程序中包含一条LIBNAME语句,并通过两级名称引用它。

示例:

libname zdata1 'D:\data'; /* 引用名可以不一样,但路径必须一致 */

proc print data = zdata1.plants; /* 引用时,数据集名称是唯一标识,不能更改 */

title "常见植物数据表";

run;

3 通过直接引用使用永久SAS数据集('路径+名称')

SAS也可以不建立逻辑库引用名和定义SAS逻辑库,直接引用永久SAS数据集,但**「不推荐」**此用法。   直接创建永久SAS数据集

只需要把数据集的名称和路径放在要使用该数据的引号之内,即可直接创建永久SAS数据集。

data "D:\data\sas_file\test.dat"; /* windows操作环境 */

data "/home/rds/zdata/app.dat"; /* unix操作环境 */

直接引用永久SAS数据集

只需要在要使用该数据的地方,将该数据集的路径和名称包含在引号中即可。

proc print data = "D:\data\sas_file\test.dat";

4 列出SAS数据集中的内容(contents)

SAS存储数据集,除了存储数据本身以外,还会存储有关该数据集的一些其他信息(也被称为描述符部分),可以使用 CONTENTS 过程查看这部分信息,只需要在 data= 选项后面指定数据集即可。

语法:proc contents data = data-set ;

*创建逻辑库;

libname zdata "D:\data\sas_file";

*data步创建一个数据集;

data zdata.funnies (label = 'comics character data'); /*'label='选项,给数据集加标签*/

input id name $ height weight dob mmddyy8. @@;

label id = 'identification no.' /*'label'语句,给变量加标签*/

height = 'height in inches'

weight = 'weight in pounds'

dob = 'data of birth';

informat dob mmddyy8.; /*格式化输入*/

format dob worddate18.; /*格式化输出*/

datalines;

53 susie 42 41 07-11-81 54 charlie 46 55 10-26-54

55 calvin 40 35 01-10-81 56 lucy 46 52 01-13-55

;

run;

*使用proc contents过程描述数据集;

proc contents data = zdata.funnies;

run;

注意,给数据集或者变量加标签时,标签长度不能超过256个字符。加标签的目的,是记录下更多信息。此外,data步和proc步都可以为数据添加标签,但适用范围有区别:

data步加label:描述信息储存在数据集中,打印会显示

proc步加label:标签只在process中使用,打印不会显示

上面程序还包含了 informat 和 foamat 语句,两者可以用来为变量关联输出格式和输出格式。

informat 语句:格式化输入

foamat 语句:格式化输出

这两种语句对数据起作用的存储逻辑和上面一样,data步若指定了informat 和 foamat 语句,则指定的输入格式和输出格式会被存储到数据集中,打印会显示。反之,proc步的则适用于proc过程中,打印不显示。

最后,proc contents的输出是三张表,分别描述了数据集信息、每个变量信息:

关于该数据集

关于每个变量

数据集名称

类型(数值或者字符)

观测数

长度(以字节为单位的存储大小)

变量数

用于打印的输出格式(如果有的话)

创建日期

用于输入的输入格式(如果有的话)

数据集标签(如果有的话)

变量标签(如果有的话)

python 访问sas 逻辑库,SAS | 逻辑库和SAS数据集相关推荐

  1. python 访问sas 逻辑库_SAS岩论 | 在Jupyter Notebook中使用SAS

    原标题:SAS岩论 | 在Jupyter Notebook中使用SAS 在Jupyter Notebook中使用SAS Jupyter Notebook目前已成为绝大多数编程人员首选的工具.尤其是学习 ...

  2. SAS编程基础 - 逻辑库和数据集

    1. SAS逻辑库 1.1 创建SAS逻辑库: libname lb 'F:\Data_Model'; libname是关键字,lb是创建的逻辑库的名称,引号内的内容是目录路径,最后一个分号结束程序语 ...

  3. SAS学习笔记之《SAS编程与数据挖掘商业案例》(4)DATA步循环与控制、常用全程语句、输出控制...

    SAS学习笔记之<SAS编程与数据挖掘商业案例>(4)DATA步循环与控制.常用全程语句.输出控制 1. 各种循环与控制 DO组 创建一个执行语句块 DO循环 根据下标变量重复执行DO和E ...

  4. SAS学习笔记之《SAS编程与数据挖掘商业案例》(3)变量操作、观测值操作、SAS数据集管理...

    SAS学习笔记之<SAS编程与数据挖掘商业案例>(3)变量操作.观测值操作.SAS数据集管理 1. SAS变量操作的常用语句 ASSIGNMENT 创建或修改变量 SUM 累加变量或表达式 ...

  5. SAS(五)建立SAS数据集的方法及导出数据

    SAS(五)建立SAS数据集的方法 1.data步自己输入数据建立. data oranges; input variety $ flavor texture looks; /*total=flavo ...

  6. SAS学习笔记之《SAS编程与数据挖掘商业案例》(3)变量操作、观测值操作、SAS数据集管理

    SAS学习笔记之<SAS编程与数据挖掘商业案例>(3)变量操作.观测值操作.SAS数据集管理 1. SAS变量操作的常用语句 ASSIGNMENT 创建或修改变量 SUM 累加变量或表达式 ...

  7. SAS 运行过程中出现‘SAS 磁盘已满 OUT OF RESOURCES’解决办法!

    SAS 运行过程中出现'SAS 磁盘已满 OUT OF RESOURCES'解决办法! 当SAS在WORK逻辑库运行大量数据时可能会出现'磁盘已满 OUT OF RESOURCES'的情况,那是由于w ...

  8. SAS学习笔记之《SAS编程与数据挖掘商业案例》(2)数据获取与数据集操作

    SAS学习笔记之<SAS编程与数据挖掘商业案例>(2)数据获取与数据集操作 1. SET/SET效率高,建立的主表和建表索引的查询表一般不排序, 2. BY语句,DATA步中,BY语句规定 ...

  9. Python访问街区10个点,并俩俩绘制一条线,得到5条线,求最短的距离和?

    Python访问街区10个点,并俩俩绘制一条线,得到5条线,求最短的距离和? 1. 效果图 2. 源码 参考 上一篇博客介绍了Python访问街区所有节点最短路径问题,并结合matplotlib可视化 ...

最新文章

  1. css超过两行显示为..._使用这些不太常用的CSS属性,布局效率上又提高了一个层次...
  2. 农用地包括哪些地类_征用土地公告应当包括哪些内容?|楹庭拆迁律师
  3. rtp发送 h265
  4. 分享20个常用的Python函数,轻松玩转Pandas!!
  5. kotlin学习笔记——枚举、封闭类
  6. qt 运行库 linux,linux(ubuntu) 版qt5.x安装的一些知识
  7. 2018关于认证第三方IATF 16949:2016审核完成不符合事项分析
  8. dwf怎么合成一个_cad多张图纸拆分(如何将一个有多个图的CAD文件,按图分成几个文件)...
  9. 米粒搜---团购信息搜索软件 Android平台
  10. python图片转文字easyocr_EasyScreenOCR - 图片文字识别工具
  11. word公式编辑器复制粘贴未响应_word公式编辑器常见问题汇总,附带解决方法
  12. 李阳疯狂英语学习方法大全集-英语,单词
  13. qq邮箱sina邮箱服务器拒绝,为什么有的qq邮箱,新浪这边邮不过去呢?
  14. restapi是什么意思_什么是REST API?请解释的通俗一点,它和一般的API有什么区别
  15. 第六十七篇:opencv中KeyPoint与point2f之间相互转换
  16. 唯美MACD-完全版
  17. 【IC设计】异步FIFO
  18. 开源 ,我们需要什么样的创新?
  19. Freelancer自由工作离我们还有多远?
  20. matlab线性或者非线性方程(组)的求解

热门文章

  1. One2One主键关联的实现
  2. java linearlayout_LinearLayout属性用法和源码分析
  3. CentOS7 1.搭建环境脚本
  4. Android2.2查看svn历史提交记录
  5. linux系统登陆问题,Linux之登陆问题
  6. tk-mapper 生成器
  7. java验证码限流_Java实现系统限流
  8. cpc卡内计费信息异常包括_今日头条信息流广告投放效果好吗?信息流广告计费方式怎么收费?...
  9. python xpath定位打印元素_python基础教程:8种selenium元素定位的实现
  10. Python的dnspython库使用指南