SAS MACRO系列
Macro Expressions
三种类型:text, logical, and arithmetic
例子:
1.text expressions
&BEGIN
%GETLINE
&PREFIX.PART&SUFFIX
%UPCASE(&ANSWER)
2.arithmetic expressions
3.logical expressions
%let A=2;
%let B=5;
%let operator=+;
%put The result of &A &operator &B is %eval(&A &operator &B).;
log:The result of 2 + 5 is 7.
这个例子是把逻辑和运算运用到文本代码中实现
%eval就是在macro中实现计算,如果不加%eval就不会进行计算,而是输出文本
%eval 只能进行整数运算
%SYSEVALF :
- 可以进行浮点数的计算;
- 可以用于转换类型;
%let a=2.5;
%put %sysevalf(&a,boolean); 1
%put %sysevalf(&a,integer); 2
%put %sysevalf(&a,ceil); 3
%put %sysevalf(&a,floor); 2