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

简介: SAS学习笔记之《SAS编程与数据挖掘商业案例》(5)SAS宏语言、SQL过程1. 一个SAS程序可能包含一个或几个语言成分:DATA步或PROC步全程语句SAS组件语言(SCL)结构化查询语言(SQL)SAS宏语言2. 宏触发:% 是一个宏语句或宏函数;&是一个宏变量引用3. 局部宏变量:一般程序定义的为宏变量。全局

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全连接。
目录
相关文章
|
11月前
|
SQL 数据管理 关系型数据库
SQL 语言入门:开启数据管理的大门
在数字化时代,数据已成为核心资产,而 SQL 作为操作关系型数据库的标准语言,是数据从业者、程序员及办公人员必备技能。本文从基础概念讲起,详解 SQL 的核心用法,包括数据查询、插入、修改、删除及表结构操作,并通过实例演示帮助读者快速上手。掌握 SQL,不仅能提升数据处理效率,更为深入理解数据管理打下坚实基础。
|
SQL 数据库 数据安全/隐私保护
数据库数据恢复——sql server数据库被加密的数据恢复案例
SQL server数据库数据故障: SQL server数据库被加密,无法使用。 数据库MDF、LDF、log日志文件名字被篡改。 数据库备份被加密,文件名字被篡改。
|
SQL 数据库
数据库数据恢复—SQL Server数据库报错“错误823”的数据恢复案例
SQL Server附加数据库出现错误823,附加数据库失败。数据库没有备份,无法通过备份恢复数据库。 SQL Server数据库出现823错误的可能原因有:数据库物理页面损坏、数据库物理页面校验值损坏导致无法识别该页面、断电或者文件系统问题导致页面丢失。
481 13
数据库数据恢复—SQL Server数据库报错“错误823”的数据恢复案例
|
10月前
|
SQL Oracle 关系型数据库
SQL语言小结
针对数据库、表单和数据行的增删改,没有涉及到sql真正的用途也就是查询,sql提供的查询语句的关键字占 sql 语言的一半之多,查询语句还是得单拿出来讲,不然太多了。 因为没有涉及到查询,所以sql的新增和修改都是很笼统的做法,drop、alter drop、delete这些很容易,逻辑性也不强,再次说明sql的真正精髓在于查询,不然为啥叫做结构化查询语言
484 0
|
10月前
|
SQL 关系型数据库 MySQL
(SQL)SQL语言中的查询语句整理
查询语句在sql中占了挺大一部分篇幅,因为在数据库中使用查询语句的次数远多于更新与删除命令。而查询语句比起其他语句要更加的复杂,可因为sql是数据库不可或缺的一部分,所以即使不懂,也必须得弄懂,以上。
478 0
|
SQL 数据库连接 Linux
数据库编程:在PHP环境下使用SQL Server的方法。
看看你吧,就像一个调皮的小丑鱼在一片广阔的数据库海洋中游弋,一路上吞下大小数据如同海中的珍珠。不管有多少难关,只要记住这个流程,剩下的就只是探索未知的乐趣,沉浸在这个充满挑战的数据库海洋中。
568 16
|
关系型数据库 MySQL 大数据
大数据新视界--大数据大厂之MySQL 数据库课程设计:MySQL 数据库 SQL 语句调优的进阶策略与实际案例(2-2)
本文延续前篇,深入探讨 MySQL 数据库 SQL 语句调优进阶策略。包括优化索引使用,介绍多种索引类型及避免索引失效等;调整数据库参数,如缓冲池、连接数和日志参数;还有分区表、垂直拆分等其他优化方法。通过实际案例分析展示调优效果。回顾与数据库课程设计相关文章,强调全面认识 MySQL 数据库重要性。为读者提供综合调优指导,确保数据库高效运行。
|
SQL 数据库
数据库数据恢复—SQL Server报错“错误 823”的数据恢复案例
SQL Server数据库附加数据库过程中比较常见的报错是“错误 823”,附加数据库失败。 如果数据库有备份则只需还原备份即可。但是如果没有备份,备份时间太久,或者其他原因导致备份不可用,那么就需要通过专业手段对数据库进行数据恢复。
|
SQL 存储 缓存
YashanDB SQL语言
YashanDB SQL语言
|
SQL 数据可视化 IDE
SQL做数据分析的困境,查询语言无法回答的真相
SQL 在简单数据分析任务中表现良好,但面对复杂需求时显得力不从心。例如,统计新用户第二天的留存率或连续活跃用户的计算,SQL 需要嵌套子查询和复杂关联,代码冗长难懂。Python 虽更灵活,但仍需变通思路,复杂度较高。相比之下,SPL(Structured Process Language)语法简洁、支持有序计算和分组子集保留,具备强大的交互性和调试功能,适合处理复杂的深度数据分析任务。SPL 已开源免费,是数据分析师的更好选择。