• 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_modeook_datachapt10';
        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全连接。
    
  • 相关阅读:
    [LeetCode] Course Schedule
    [Algorithms] Topological Sort
    [Algorithms] Graph Traversal (BFS and DFS)
    [LeetCode] One Edit Distance
    [LeetCode] Summary Ranges
    [LeetCode] Missing Ranges
    [LeetCode] Fraction to Recurring Decimal
    17.Docker之使用dockerfile创建jdk镜像
    16.Docker之使用dockerfile创建nginx镜像
    7.Docker之dockerfile指令简介
  • 原文地址:https://www.cnblogs.com/lanzhi/p/6467890.html
Copyright © 2020-2023  润新知