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过程的更多相关文章

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

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

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

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

  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编程与数据挖掘商业案例》(2)数据获取与数据集操作

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

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

    SAS学习笔记之<SAS编程与数据挖掘商业案例>(1)系统简介和编程基础 1. SAS系统简介 1.1 SAS是先编译后执行的语言,data步标志着编译的开始. 数据指针:当前内存缓存区, ...

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

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

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

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

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

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

随机推荐

  1. POJ 1655 Balancing Act && POJ 3107 Godfather

    题目大意: 根据题目的图很好理解意思,就是记录每一个点的balance,例如 i 的balance就是把 i 从这棵树中除去后得到的森林中含有结点数最多 的子树中的节点个数,然后找到所有节点中对应的b ...

  2. Codeforces Round #246 (Div. 2) D. Prefixes and Suffixes

                                                        D. Prefixes and Suffixes You have a string s = s ...

  3. reids桌面管理工具:RedisDesktopManager下载、使用

    概要:一款好用的Redis桌面管理工具,支持命令控制台操作,以及常用,查询key,rename,delete等操作. 下载软件,请点击下面链接,进入下载页,选择对应版本: https://redisd ...

  4. hdu 2545 并查集 树上战争

    #include<stdio.h> #include<string.h> #define N 110000 struct node {     int father,count ...

  5. mvc使用mongodb时objectId序列化与反序列化

    前面有写使用自己的mvc 序列化工具即jsonNetResult.我这里结合之前写的jsonNetResult来做一个Json序列化工具,而且序列化ObjectId成一个字符串.详细代码例如以下 us ...

  6. Spark SQL CLI 实现分析

    背景 本文主要介绍了Spark SQL里眼下的CLI实现,代码之后肯定会有不少变动,所以我关注的是比較核心的逻辑.主要是对照了Hive CLI的实现方式,比較Spark SQL在哪块地方做了改动,哪些 ...

  7. 【Spring四】AOP之XML配置

    AOP:Aspect Oriented  Programming 面向切面编程 面向切面编程的核心是动态代理设计模式.请先參见动态代理设计模式笔记. 以Hibernate保存一个对象到数据库为例,因为 ...

  8. c#复制文件、文件夹代码

    c#没有复制目录的代码,需要通过递归实现复制目录: 使用方法: 1.把c:\temp\index目录下的所有子目录和文件复制到 c:\temp\newindex目录下. bool copy = Cop ...

  9. java文件和目录的增删复制

    在使用java进行开发时常常会用到文件和目录的增删复制等方法.我写了一个小工具类.和大家分享,希望大家指正: package com.wangpeng.utill; import java.io.Fi ...

  10. 把ANSI格式的TXT文件批量转换成UTF-8文件类型

    把ANSI格式的TXT文件批量转换成UTF-8文件类型 Posted on 2010-08-05 10:38 moss_tan_jun 阅读(3635) 评论(0) 编辑 收藏 #region 把AN ...