SAS/编程
外观
< SAS
SAS 使用多种编程模式来操作数据。其中包括
- 全局语句,用于定义或更改程序环境
- SAS 数据步,使用数据步语言在矩形数据库表(数据集)中创建、输入、修改和输出数据。
- SAS 数据步以 DATA 关键字开头,通常以 RUN 语句结束。
- 过程,预编译的结构,旨在根据(通常)SAS 数据集和一个或多个控制参数的输入来产生定义的结果
- SAS 过程以 PROC 关键字开头,后跟过程名称,通常以 RUN 或 QUIT 语句结束。
- SQL 语句,在 PROC SQL 中发出,提供了一种替代(更标准)的方法来创建和修改数据库表
- IML(交互式矩阵语言)语句,在 PROC IML 中发出,提供了一种操作矩阵数据的方法。
- SAS 图形语句,使用特殊词汇表的语句来控制图形输出。
- ODS 语句,使用另一种特殊词汇表的语句来控制输出到外部媒体
- SAS 宏语言,在执行之前修改程序语句,并允许在每次运行时通过替换控制参数来使通用代码适应使用。
- 宏代码通常由包含以 % 或 & 开头的关键字的语句标识。
以下宏计算频率,绘制它们并将图形存储在文件中。您只需一行即可执行所有这些任务,而无需每次都重复所有这些步骤。
%macro plot_dist(var=,title=,name=);
proc freq data = lib.fic_dad_06_1 ;
table &var /out = _freq_ ;
run ;
goptions reset=all;
filename output &name;
goptions device=png gsfname=output gsfmode=replace;
proc gplot data = _freq_ (where = (&var > 1 & &var < 70)) ;
title &title ;
symbol v = circle c = black i = none;
plot count * &var / grid href=10 20 50 ;
run;
quit ;
%mend ;
%plot_dist(var = EFFECTIF , title = "Effectif", name = "W:/…/hist_eff.png");
- 宏的声明以 **%macro** 开头,以 **%mend** 结束。
- 宏中的参数以 **&** 符号开头。