SAS中文论坛
标题:
请教一个关于宏工具输入输出的问题%window 谢谢
[打印本页]
作者:
shiyiming
时间:
2009-6-3 19:17
标题:
请教一个关于宏工具输入输出的问题%window 谢谢
%macro rtff;
%do n=1 %to &aa;
#&n @80 tff&n 15 attr=underline
%end;
%mend rtff;
%window windowi
# 0 @3 "Pleast input how many kinds of nutrient you cared about"
@80 aa 1 attr=underline;
%window www
# 0 @80 "input the values"
%rtff;
%macro test;
%global aa;
%display windowi;
%put &aa;
%rtff;
%do i=1 %to &aa;
%global tff&i;
%end;
%display www;
%do i=1 %to &aa;
%put &&tff&i;
%end;
%mend test;
%test;
这个程序是简化的,目的是想根据用户的需要来输入一系列的宏参数,假设用户关心的是3个相关的变量,于是先用%window windowi 的宏参数aa来记录个数,然后再根据aa的具体数据生成重复文本#&n @80 tff&n 15 attr=underline,这个重复文本是
%macro rtff 来实现的。然后在%window www里面调用宏rtff。可是好像1是#&n有问题,另一个就是aa的值传到%window www中有问题,因为我运行这个程序第一遍的时候报错是:
#1
-
180
ERROR 180-322: Statement is not valid or it is used out of proper order.
然后运行第二遍的时候,报错依然没有变,但是功能是可以实现了,只是aa是上一次运行的aa的值。
为什么这个程序不可以实现呢?
有劳大家帮忙啦!
欢迎光临 SAS中文论坛 (https://mysas.net/forum/)
Powered by Discuz! X3.2