使用SAS宏,有没有办法创建名称有空格的变量?

Twi*_*kle 2 macros sas

我想使用宏在我的数据集中创建一个变量.变量名称包含空格.通常在SAS中,我必须用撇号括起名称:'var_name'n.在宏中,我试图用%(str)掩盖撇号:

例如:

%macro test(varname);
%str(')&varname.%str('n)=""
%mend;
Run Code Online (Sandbox Code Playgroud)

但这似乎不起作用.

Mic*_*son 6

您可以使用%符号来转义单引号和%unquote解析引用的函数,如下所示:

%macro test(varname);
    %unquote(%str(%'&varname.%'n))="";
%mend;
Run Code Online (Sandbox Code Playgroud)

源自样本25076:在单引号内解析宏变量