0

我需要根据 Sas 中的条件在 sas 中运行特定代码。例如。

有一个代码:

&Gender. = M

proc sql;
select * from test where loc="Florida";
quit;

我只想在宏“&gender.”满足我的 M 条件时运行 proc sql 代码,即 if &gender。= M 然后运行 ​​proc sql 部分,否则跳过该部分。

这怎么可能??

4

1 回答 1

2

您可以通过编写一个小宏然后调用它来做到这一点:

%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 代码的值,它们可以防止发生愚蠢的事情。

于 2013-05-23T08:34:19.730 回答