SAS学习笔记之《SAS编程与数据挖掘商业案例》(5)SAS宏语言、SQL过程
SAS学习笔记之《SAS编程与数据挖掘商业案例》(5)SAS宏语言、SQL过程
1. 一个SAS程序可能包含一个或几个语言成分:
DATA步或PROC步
全程语句
SAS组件语言(SCL)
结构化查询语言(SQL)
SAS宏语言
2. 宏触发:% 是一个宏语句或宏函数;&是一个宏变量引用
3. 局部宏变量:一般程序定义的为宏变量。
全局宏变量:使用%global语句或通过data步接口子程序产生宏变量以及除SYSPBUFF外的所有自动宏变量都是全局宏变量。
4. 定义宏变量 %let 显示宏变量%put
5. 定义宏
%macro dsn;
文本;
%mend dsn;
调用宏
%test;
嵌套宏
%macro prt;
Proc print data=sashelp.class;run;
%mend prt;
%macro nest;
%test;
%pro;
%ment nest;
%nest;
宏存储
libname test 'f:\data_mode\book_data\chapt10';
options mstored sasmstore=test;
%macro test/store;
data a;
x=1;
run;
%mend test;
6. 宏参数,是一种特殊的宏变量,是定义在宏MACRO语句内的宏变量。
创建宏参数:一安按值创建二按址创建
7. 宏函数,是指能够通过在SAS宏中定义应用DATA步的函数,最常用的通配函数是%SYSFUNC函数。
7.1宏计算函数:%EVAL函数:计算算术和逻辑表达式(整数格式);%SYSEVALF函数:计算算数和逻辑表达式(浮点格式)
%EVAL函数创建宏累加器
%macro test(finish);
%let i=1;
%do %while(&i<finish);
%put the value of i is &i;
%let i=%eval(&i+1);
%end;
%mend test;
$test(5)
8. %IF-%THEN/%ELSE语句
%DO组语句
%DO;
文本及宏语句;
%END;
%DO循环语句
%DO macro-varialble=start %TO stop<%BY increment>;
文本及宏语言;
%END;
9. SAS中SQL过程具有以下功能:
产生汇总数据,创建SAS数据集。
从数据字典和数据视图中检索数据。
横向合并数据集。
纵向合并数据集。
创建视图和索引。
更新、添加、删除等操作。
创建宏变量。
10. SQL多表操作
10.1多表关联常用的方式:JOIN内连接,LEFT JOIN左连接,RIGHT JOIN右连接和FULL JOIN全连接。
10.2合并查询:UNION(A并B,但排出重复值),UNION ALL(并),EXCEPT(A-B,但排出重复值),EXCEPT ALL(A-B),INTERSECT(A交B)
10.3MERGE和SLQ比较
在一对一和多对一是完成相同的,但是在多对多两者完全不同。
MERGE没有使用IN等价于SQL全连接。
SAS学习笔记之《SAS编程与数据挖掘商业案例》(5)SAS宏语言、SQL过程的更多相关文章
- 《SAS编程和数据挖掘商业案例》第14部分学习笔记
继续<SAS编程与数据挖掘商业案例>学习笔记系列,本次重点:经常使用全程语句 所谓全程语句.是指能够用在不论什么地方的sas语句,既能够用在data数据步语句里面,也能够用在proc过程步 ...
- 《SAS编程和数据挖掘商业案例》学习笔记# 19
继续<SAS编程与数据挖掘商业案例>学习笔记,本文側重数据处理实践.包含:HASH对象.自己定义format.以及功能强大的正則表達式 一:HASH对象 Hash对象又称散列表,是依据关键 ...
- SAS学习笔记之《SAS编程与数据挖掘商业案例》(4)DATA步循环与控制、常用全程语句、输出控制
SAS学习笔记之<SAS编程与数据挖掘商业案例>(4)DATA步循环与控制.常用全程语句.输出控制 1. 各种循环与控制 DO组 创建一个执行语句块 DO循环 根据下标变量重复执行DO和E ...
- SAS学习笔记之《SAS编程与数据挖掘商业案例》(3)变量操作、观测值操作、SAS数据集管理
SAS学习笔记之<SAS编程与数据挖掘商业案例>(3)变量操作.观测值操作.SAS数据集管理 1. SAS变量操作的常用语句 ASSIGNMENT 创建或修改变量 SUM 累加变量或表达式 ...
- SAS学习笔记之《SAS编程与数据挖掘商业案例》(2)数据获取与数据集操作
SAS学习笔记之<SAS编程与数据挖掘商业案例>(2)数据获取与数据集操作 1. SET/SET效率高,建立的主表和建表索引的查询表一般不排序, 2. BY语句,DATA步中,BY语句规定 ...
- SAS学习笔记之《SAS编程与数据挖掘商业案例》(1)系统简介和编程基础
SAS学习笔记之<SAS编程与数据挖掘商业案例>(1)系统简介和编程基础 1. SAS系统简介 1.1 SAS是先编译后执行的语言,data步标志着编译的开始. 数据指针:当前内存缓存区, ...
- 《SAS编程与数据挖掘商业案例》学习笔记之十六
<SAS编程与数据挖掘商业案例>学习笔记,本次重点:sas宏变量 内容包含:宏变量.宏函数.宏參数.通配函数.字符函数.计算函数.引用函数.宏语句.宏应用 1.宏触发器: %name-to ...
- 《SAS编程与数据挖掘商业案例》学习笔记之十五
继续<SAS编程与数据挖掘商业案例>读书笔记,本次重点:输出控制 主要内容包含:log窗体输出控制.output窗体输出控制.ods输出控制 1.log窗体输出控制 将日志输出到外部文件 ...
- 《SAS编程与数据挖掘商业案例》学习笔记之十八
接着曾经的<SAS编程与数据挖掘商业案例>,之前全是sas的基础知识,如今開始进入数据挖掘方面笔记,本文主要介绍数据挖掘基本流程以及应用方向,并以logistic回归为例说明. 一:数据挖 ...
随机推荐
- [bzoj2657][Zjoi2012]旅游 journey_ 对偶图_树形dp
旅游 bzoj-2657 Zjoi-2012 题目大意:题目链接 注释:$1\le K\le 2\cdot 10^5$. 想法:这题... 感觉和上一个题的提示有些类似,就是题目生怕你不知道这是一道对 ...
- 非常适合新手的jq/zepto源码分析08---ajax的封装
1.现在看看对JSONP的封装 $.ajaxJSONP = function(options, deferred){ if (!('type' in options)) return $.ajax(o ...
- yum 源本地化 (two)
之前写过一个yum源本地化的文章. 后来发现那个方法有些缺陷, yum install --downloadonly --downloaddir=/tmp/atomicdownload memcach ...
- mybatis mapper文件sql语句传入hashmap参数
1.怎样在mybatis mapper文件sql语句传入hashmap参数? 答:直接这样写map就可以 <select id="selectTeacher" paramet ...
- heap实现
//STL提供的是Max heap,使用vector作为底部容器 //push_heap算法:首先将元素放到堆所对应的数组的末端,然后从该节点开始向上调整, //若当前结点键值比父结点大,则兑换位置, ...
- Android Studio 开发利器【经常使用插件】
1.ADB Idea ADB操作快捷菜单.高速清除数据,重新启动应用,卸载应用等 快捷键: Windows: Ctrl+Alt+Shift+A Mac OSX: Ctrl+Shift+A 当然,你能够 ...
- 加壳学习笔记(三)-简单的脱壳思路&调试思路
首先一些windows的经常使用API: GetWindowTextA:以ASCII的形式的输入框 GetWindowTextW:以Unicaode宽字符的输入框 GetDlgItemTe ...
- C++学习之可变参数的函数与模板
所谓可变参数指的是函数的参数个数可变,参数类型不定的函数.为了编写能处理不同数量实参的函数,C++11提供了两种主要的方法:如果所有的实参类型相同,可以传递一个名为initializer_list的标 ...
- HDU 5305 Friends(简单DFS)
Friends Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others) Total Su ...
- C#邮件发送(含附件)
class SendEmail { static void Main(string[] args) { string from = "发件人@yingu.com"; string ...