如何在sas宏中包含特殊字符

时间:2016-09-04 14:02:27

标签: sas

我写了一个sas宏,它需要两个输入变量。 Var1是日期变量。 var2and pern in(开头,以)结尾,括号中包含一系列以逗号分隔的数字。

%let var1 = '01DEC2011'd;
%let var2 =  and pern in (10107,11308,11703,11850);

现在我首先定义输入变量,然后定义宏并运行它。它工作正常

%let var1 = '01DEC2011'd;
%let var2 =  and pern in (10107,11308,11703,11850);

%macro program;
...
%mend;
%program;

但是,我想改变我分配输入变量的方式,让我的宏看起来如下:

%macro program(var1, var2);
...
%mend;
%program( '01DEC2011'd, and pern in (10107,11308,11703,11850)); 

因为var1和var2都包含特殊字符'和(),所以无法正确地执行宏。任何人都可以教我如何打电话给我的宏。

1 个答案:

答案 0 :(得分:1)

我运行以下内容似乎工作正常。你得到什么错误?

%let var1 = '01DEC2011'd;
%let var2 =  and pern in (10107,11308,11703,11850);
%put &var1 '  ' &var2  ;

%macro test(var1,var2);
%put &var1 '  ' &var2;
%mend test;
%test('01DEC2011'd,and pern in (10107,11308,11703,11850));