我有一個SAS項目(EGv7.1),允許用戶在第一行指定一個值。然後,根據指定的值調用其他進程。其中之一就是分配了一些其他宏變量。下面是我所擁有的,而且似乎沒有工作。我真的需要let語句是序列中的第一個,但除此之外,我願意改變。有什麼建議麼?SAS宏功能條件宏變量的值
%let number=8;
%macro my_function();
%if &number=8 %then
%do;
%let number_text=eight;
%let number_text_2=equal to eight;
%end;
%if &number>8 %then
%do;
%let number_text=not eight;
%let number_text_2=greater then eight;
%end;
%if &number<8 %then
%do;
%let number_text=not eight;
%let number_text_2=less than eight;
%end;
%mend my_function;
%my_function();
%put =================&number==================;
%put ===========The number is &number_text.=============;
%put =======Furthermore, the number is &number_text_2.========;
雖然你的程序可能比上述更復雜,如果你使用的提示(如您應該如果您在EG是!),你可以通過提示界面做一些這方面,而不是與宏困擾。 – Joe
是的,我同意提示將是更好的方式去這裏。我一直在測試提示管理器功能,但需要一個短期解決方案。還是)感謝你的建議。 – pyll