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. [luoguP2890] [USACO07OPEN]便宜的回文Cheapest Palindrome(DP)

    传送门 f[i][j] 表示区间 i 到 j 变为回文串所需最小费用 1.s[i] == s[j] f[i][j] = f[i + 1][j - 1] 2.s[i] != s[j] f[i][j] = ...

  2. 撸呀撸的左手(KMP+DP)

    题目描述 撸呀撸很迷茫,因为他的左手总是不受控制,做一些不雅的事情.于是撸呀撸一狠心,决定戒撸.没想到,他的左手受不了寂寞,一闲下来就在键盘上各种乱敲. 唔,神奇的左手表示,safasfasaafaf ...

  3. hdu 2647拓扑排序 结构体模拟容器

    #include<stdio.h> #include<queue> #include<iostream> using namespace std; #define ...

  4. Python函数基础---参数、变量

    函数:指将一组语句的集合通过一个名字(函数名)封装起来,要想执行这个函数,只需调用其函数名即可. def sayhi( ): # 函数名 print('hello world') sayhi( ) # ...

  5. 函数操作(this操作)

    1.apply/call函数:会改变this关键字,并且第一个参数作为this关键字. /*apply与call区别*/ console.log(Array.prototype.join.call([ ...

  6. 第3章 ES文档和故障处理

    第3章 ES文档和故障处理 一.ES网络配置表 ES网络配置表是ES的硬件和软件组成的列表.ES网络配置常包括以下项目: 分级 项目 杂项信息 系统名.系统厂商/型号.CPU速率.RAM.存储器.系统 ...

  7. C语言控制台窗体图形界面编程(总结)

    本系列文章是笔者通过学习<C语言控制台窗体界面编程(修正版)>而写(关于此文档的很多其它信息请看本系列文章第一篇),旨在让大家更加清晰简洁easy地学习C语言控制台窗体界面的编程. 通过本 ...

  8. 51nod 1353 树

    树背包 设f[i][j]表示第i个点,和子节点组成的联通块大小为j,其他都可行的方案 j=0表示可行的总方案 #include<cstdio> #include<iostream&g ...

  9. Scala 获取当前时间

    def NowDate(): String = { val now: Date = new Date() val dateFormat: SimpleDateFormat = new SimpleDa ...

  10. 58. Extjs grid CheckboxSelectionModel 单选

    转自:https://kabuka.iteye.com/blog/581823 默认的 new Ext.grid.CheckboxSelectionModel 都是可以多选的,但是有时候需要控制单选时 ...