在SAS中挣扎着传递宏观价值

dev*_*von 1 sas sas-macro

最初,我有这样的代码.

data newFile;
set File;
   If Gender NE 'Female' then delete;
   If Group NE 10 then delete;
   If Age GT 30 then delete;
run;
Run Code Online (Sandbox Code Playgroud)

它工作得很好.但我希望能够从顶部更改这些条件,因此我添加了宏变量.到目前为止,我有这个

&let macGender = 'Female';
&let macGroup = 10;
&let macAge = 30;

data newFile;
set File;
   If Gender NE &macGender then delete;
   If Group NE &macGroup then delete;
   If Age GT &macAge then delete;    
run;
Run Code Online (Sandbox Code Playgroud)

它似乎不像原始代码那样工作.我甚至试过这样的事情

SRS*_*ift 6

你想要%let而不是&let.

%let 是用于为宏变量赋值的宏语句.

&let 是您(可能)尚未创建的宏变量的引用.