我需要根据 Sas 中的条件在 sas 中运行特定代码。例如。
有一个代码:
&Gender. = M
proc sql;
select * from test where loc="Florida";
quit;
我只想在宏“&gender.”满足我的 M 条件时运行 proc sql 代码,即 if &gender。= M 然后运行 proc sql 部分,否则跳过该部分。
这怎么可能??
您可以通过编写一个小宏然后调用它来做到这一点:
%let Gender = M;
%macro gender_conditional_stuff;
%if "&Gender" = "M" %then %do;
proc sql;
select * from test where loc="Florida";
quit;
%end;
%mend gender_conditional_stuff;
%gender_conditional_stuff;
&Gender 周围的引号在 SAS 宏语言中并不是绝对必要的,但是如果有人将 &Gender 设置为可以解释为 SAS 代码的值,它们可以防止发生愚蠢的事情。