SAS 9.4宏评估功能问题



我有一个名为"月托"的数据集,该数据集位于我分配的"培训"的文件夹中,并且具有可变的付款。

我想输出"付款类型",如果付款> 400和"低付款",否则是"高付款"。

我继续遇到此错误

错误:DS-00075:试图%评估时发生解析错误 表达式:在呼叫%评估中发现的语法无效**

有人可以告诉我我在做什么错吗?

%LET root=D:UsersData;
libname training "&root.";
%LET dataset=training.monthlypayments;
%LET outlib=out;
%LET outfile=monthlypaymentsclassified;
%LET variable=payment;
%IF %EVAL(&VARIABLE.>400) %THEN %DO;
data &outlib..&outfile.;
       set &dataset.;
       paymenttype="high payment";
       run;
%ELSE %DO;
data &outlib..&outfile.;
       set &dataset.;
       paymenttype="low payment";
       run;
%END;

如果要根据数据中的变量值进行数据子集,则需要使用普通的SAS代码而不是宏观逻辑语句。如果您的宏变量看起来像是告诉您在您的if语句中使用哪个数据步骤变量。

data &outlib..&outfile.;
  set &dataset.;
  if &variable > 400 then paymenttype="high payment";
  else paymenttype="low payment";
run;

最新更新