SAS学习笔记之《SAS编程与数据挖掘商业案例》(1)系统简介和编程基础

1. SAS系统简介

1.1 SAS是先编译后执行的语言,data步标志着编译的开始。
数据指针:当前内存缓存区,输入数据所在位置。
PDV:Program Data Vector,在DATA步中所有涉及的变量被编程当前向量的一部分。

2. SAS编程基础

2.1 SAS逻辑库
                            SAS逻辑库
| | |
SAS数据集 SAS目录 其他SAS文件
| |
SAS数据文件 SAS数据视图
2.2 创建逻辑库 libname lb'F:\Data_Model\Bookdata\chapt2';
删除逻辑库 libname lb clear;
SAS数据集命名规则:由英文字母、下划线、数字组成且最多不超过32个字符。
创建永久SAS数据集名为forever
        libname fv 'F:\Data_Model\Book_data\chap2';
data fv.forever;
Input x y z;
Cards;
1 2 3
3 4 5
;
run;
    创建临时数据集名为temp
        data temp;
Input x y z;
Cards;
1 2 3
4 5 6
;
run;
2.3 SAS数据集结构
一个SAS数据集是数据值和数据集信息的集合。
数据值:由观测加变量组成,行为观测列为变量;数据集信息:包含该数据集名字、创建时间、在逻辑库中的成员类型等。
2.4 SAS索引
SAS索引存储SAS数据集中一些变量的值和与该值对应的观测进行直接定位的指针系统。
创建索引:
2.4.1 DATA创建索引
            data idx(index=(x));
input x y z;
cards;
1 2 3
;
run;
    2.4.2 SQL过程创建索引
            proc sql;
create index y on idx(y)/*定义单一索引*/;
create index yz in idx(y,z);/*定义符合索引*/
quit;
    2.4.3 DATASETS 过程创建索引
            proc datasets lib=work;
modifiy idx;
index create z/nomiss unique;/*定义单一索引*/
index create xyz=(x y z)/nomiss unique;/*定义符合索引*/
quit;
    2.4.4 删除索引
            /*删除指定索引;*/
Proc Sql;
Drop Index X On Idx;
Quit;
/*删除全部索引*/
Proc Datasets;
Modify Idx;
Index Delete _ALL_;
Quit;
2.5 数据字典,包含了所有的当前进程SAS逻辑库、SAS数据表、SAS目录等非常有用的信息。

3. 数据获取与数据集操作

3.1 数据集操作常用语句
DATA 创建SAS数据集;SET语句 读取数据行,纵向合并SAS数据集;BY语句 控制SET、MERGE、MODIFY、UPDATE语句,并建立变量。
MERGE语句 横向合并两个或两个以上SAS数据集;UPDATE语句 更细SAS数据集;MODIFY语句 修改SAS数据集;
PUT语句 显示或输出数据行;FILE语句 规定当前PUT语句的输出文件;INFILE语句 规定DATA步要读入的外部文件。
3.2 直接访问外部数据库
3.2.1访问DB2
libname hsdb db2 user=xxx password="xxx" datasrc=datadb;
    3.2.2访问Oracle
libname oralib oracle user = xxx pw = xxx path = dbmssrv schema = educ;

SAS学习笔记之《SAS编程与数据挖掘商业案例》(1)系统简介和编程基础的更多相关文章

  1. 《SAS编程和数据挖掘商业案例》第14部分学习笔记

    继续<SAS编程与数据挖掘商业案例>学习笔记系列,本次重点:经常使用全程语句 所谓全程语句.是指能够用在不论什么地方的sas语句,既能够用在data数据步语句里面,也能够用在proc过程步 ...

  2. 《SAS编程和数据挖掘商业案例》学习笔记# 19

    继续<SAS编程与数据挖掘商业案例>学习笔记,本文側重数据处理实践.包含:HASH对象.自己定义format.以及功能强大的正則表達式 一:HASH对象 Hash对象又称散列表,是依据关键 ...

  3. SAS学习笔记之《SAS编程与数据挖掘商业案例》(5)SAS宏语言、SQL过程

    SAS学习笔记之<SAS编程与数据挖掘商业案例>(5)SAS宏语言.SQL过程 1. 一个SAS程序可能包含一个或几个语言成分: DATA步或PROC步 全程语句 SAS组件语言(SCL) ...

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

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

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

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

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

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

  7. 《SAS编程与数据挖掘商业案例》学习笔记之十六

    <SAS编程与数据挖掘商业案例>学习笔记,本次重点:sas宏变量 内容包含:宏变量.宏函数.宏參数.通配函数.字符函数.计算函数.引用函数.宏语句.宏应用 1.宏触发器: %name-to ...

  8. 《SAS编程与数据挖掘商业案例》学习笔记之十五

    继续<SAS编程与数据挖掘商业案例>读书笔记,本次重点:输出控制 主要内容包含:log窗体输出控制.output窗体输出控制.ods输出控制 1.log窗体输出控制 将日志输出到外部文件 ...

  9. 《SAS编程与数据挖掘商业案例》学习笔记之十八

    接着曾经的<SAS编程与数据挖掘商业案例>,之前全是sas的基础知识,如今開始进入数据挖掘方面笔记,本文主要介绍数据挖掘基本流程以及应用方向,并以logistic回归为例说明. 一:数据挖 ...

随机推荐

  1. UVALive 7008 Tactical Multiple Defense System

     Tactical Multiple Defense System Time Limit:3000MS     Memory Limit:0KB     64bit IO Format:%lld &a ...

  2. Calculate S(n)

    Problem Description Calculate S(n). S(n)=13+23 +33 +......+n3 .   Input Each line will contain one i ...

  3. 23、Java并发性和多线程-重入锁死

    以下内容转自http://ifeve.com/reentrance-lockout/: 重入锁死与死锁和嵌套管程锁死非常相似.锁和读写锁两篇文章中都有涉及到重入锁死的问题. 当一个线程重新获取锁,读写 ...

  4. ssh2项目整合 struts2.1+hibernate3.3+spring3 基于hibernate注解和struts2注解

    项目文件夹结构例如以下: watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQveW9uZ3poaWFu/font/5a6L5L2T/fontsize/400/fi ...

  5. iOS网络高级编程:iPhone和iPad的企业应用开发之错误处理

    本章内容 watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcWluZ2h1YXdlbmthbmc=/font/5a6L5L2T/fontsize/400/fi ...

  6. xcode 4.5 new feature __ ios6 新特性

    上两周看了wwdc 2012 developer session 400 - 412的视频,以下总结一下xcode4.5的新特性.(部分參考onevcat的文章,在此感谢.) @synthesize ...

  7. 不能不说的C#特性-表达式树

    不能不说的C#特性-表达式树 2008-09-18 00:00 by 横刀天笑, 17112 阅读, 14 评论, 收藏, 编辑 最近发生了很多很多事情,频繁的搬家.工作上的事情也挺多的,所以博客更新 ...

  8. BZOJ 1798: [Ahoi2009]Seq 维护序列seq (线段树乘法加法的混合操作)

     题目:点击打开链接 大意:一个数组.三个操作.第一种是区间[a,b]每一个数乘乘,另外一种是区间[a,b]每一个数加c,第三种是查询[a,b]区间的和并对p取摸. 两种操作就不能简单的仅仅往下传 ...

  9. hdu 1728 逃离迷宫 bfs记步数

    题链:http://acm.hdu.edu.cn/showproblem.php?pid=1728 逃离迷宫 Time Limit: 1000/1000 MS (Java/Others)    Mem ...

  10. UVA 11748 - Rigging Elections(dfs)

    UVA 11748 - Rigging Elections option=com_onlinejudge&Itemid=8&page=show_problem&category ...