[英]Call a Macro in to another macro sas
我想在另一個宏中調用一個宏,這將創建一個想要在另一個宏中使用的Macro變量。 但是輸出是“警告:尚未解析表觀符號引用TEST33”。
data Base1;
input v1 v2 v3;
datalines;
1 7 8
;
run;
%let number = 6;
%Macro test1;
proc sql noprint;
select
case when (
case when &number eq 3 then v1
when &number eq 6 then v2
when &number eq 12 then v3
end ) ge 6 then 1 else 0 end into: Test22 from _last_; quit;
%let Test33 = &Test22;
%Mend test1;
options mlogic mprint symbolgen;
%Macro test2;
%test1
%put &= &Test33;
%Mend;
%test2;
您的代碼有兩個錯誤,但不確定是演示代碼的真正錯誤還是錯字。
無論哪種方式:
這對我來說很好:
data Base1;
input v1 v2 v3;
datalines;
1 7 8
;
run;
%let number = 6;
%Macro test1;
%global Test33;
proc sql noprint;
select
case when (
case when &number eq 3 then v1
when &number eq 6 then v2
when &number eq 12 then v3
end ) ge 6 then 1 else 0 end into: Test22 from base1; quit;
%let Test33 = &Test22;
%Mend test1;
options mlogic mprint symbolgen;
%Macro test2;
%test1
%put &= &Test33;
%Mend;
%test2;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.