DATA步或PROC步
全程语句
SAS组件语言(SCL)
结构化查询语言(SQL)
SAS宏语言全局宏变量:使用%global语句或通过data步接口子程序产生宏变量以及除SYSPBUFF外的所有自动宏变量都是全局宏变量。 %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;创建宏参数:一安按值创建二按址创建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)%DO组语句
%DO;
文本及宏语句;
%END;
%DO循环语句
%DO macro-varialble=start %TO stop<%BY increment>;
文本及宏语言;
%END;产生汇总数据,创建SAS数据集。
从数据字典和数据视图中检索数据。
横向合并数据集。
纵向合并数据集。
创建视图和索引。
更新、添加、删除等操作。
创建宏变量。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全连接。