将数值表达式的结果存储在SAS宏变量中

时间:2017-03-01 11:46:44

标签: sas

我正在使用SAS Enterprise指南,并希望将小计算的结果存储在SAS宏变量中:

我的代码如下:

%do quarter = 0 to 3; 
    %let macro_variable = &quarter. * 3; 
%end; 

但是,这导致我的代码中出现以下错误:

Statement is not valid, or it is used out of the proper order. Affected code: 0*3.

我在这里做错了什么?这看起来像是一个简单的操作。

1 个答案:

答案 0 :(得分:1)

宏函数%eval()允许您使用整数宏变量执行算术运算。

试试这个:

%do quarter = 0 %to 3;
  %let macro_variable = %eval(&quarter. *3);
%end;

如果需要计算非整数,则将%eval替换为使用浮点运算的%sysevalf