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

在SAS宏变量中存储数值表达式的结果,sas,Sas,我正在使用SAS Enterprise guide,希望将小计算的结果存储在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. 我做错了什么?这似乎是一

我正在使用SAS Enterprise guide,希望将小计算的结果存储在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.
我做错了什么?这似乎是一个如此简单的操作

使用宏函数%eval()可以对整数宏变量执行算术运算

试试这个:

%do quarter = 0 %to 3;
  %let macro_variable = %eval(&quarter. *3);
%end;
如果需要计算非整数,请将%eval替换为使用浮点运算的%sysevalf

请提供导致此错误的代码的详细信息。