2

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

例如:

%macro test(varname);
%str(')&varname.%str('n)=""
%mend;

但这似乎不起作用。

4

1 回答 1

6

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

%macro test(varname);
    %unquote(%str(%'&varname.%'n))="";
%mend;

源自示例 25076:解析单引号内的宏变量

于 2013-05-29T13:21:11.990 回答