有没有办法可以在SAS中将宏变量值重置为null

时间:2016-12-12 18:13:45

标签: sas sas-macro

我正在创建这个宏变量LOG_LIST,并为其提供一个值列表,稍后将其用于我的逻辑回归。代码如下。

    proc sql;
    select name into :LOG_LIST separated by ' '
    from WORK.logcolumnslist;
    quit;

    proc logistic data=test_dataset;
    model logistic_var= age sex &LOG_LIST.;
    run;

在极少数情况下,数据集work.logcolumnslist为空,在这种情况下,我希望LOG_LIST取值为null,这样我的逻辑回归就不会搞砸了。我尝试了%let语句甚至在sashelp.vmacro表中更改宏变量的值,但它没有用。有没有办法将值重置为null?

谢谢!

1 个答案:

答案 0 :(得分:2)

PROC SQL之前,使用%let为其指定空值。

%let log_list=;
proc sql;
    select name into :LOG_LIST separated by ' '
    from WORK.logcolumnslist;
    quit;
%put &=log_list.;