最初,我有这样的代码。
data newFile;
set File;
If Gender NE 'Female' then delete;
If Group NE 10 then delete;
If Age GT 30 then delete;
run;
它运作得很好。但我希望能够从顶部更改这些条件,因此我添加了宏变量。到目前为止,我有这个
&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;
它似乎不像原始代码那样工作。我甚至试过这样的事情
答案 0 :(得分:6)
您需要%let
而不是&let
。
%let
是用于为宏变量赋值的宏语句。
&let
是对(可能)尚未创建的宏变量的引用。
答案 1 :(得分:1)
放%符号代替&在你的宏观声明中,让你的声明和摆脱女性的报价。
将这些引号放在实际的宏周围。
例如
%让macGender =女性;
如果性别NE"& macGender。"然后删除;