2016-09-04 7 views
0

2つの入力変数を必要とするsasマクロを書きました。 Var1は日付変数です。 var2は、and pern in(で始まり、)で終わります。ブラケットには、コンマで区切られた一連の数字が含まれています。sasマクロに特殊文字を含める方法

%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; 

しかし正常に動作します:VAR1とVAR2の両方に特殊文字 'が含まれているため

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

、および()、マクロを正常にexucutedすることはできません。誰も私のマクロを呼び出す方法を教えてもらえますか?

+0

マクロの定義や呼び出しに問題はありません。 2番目の値の()は、カンマがより多くのパラメータ値を示すと解釈されるのを防ぎます。実際に試しましたか?どのようなエラーがありましたか? – Tom

答えて

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));