SAS中文论坛

标题: 请问大家macro的问题 [打印本页]

作者: shiyiming    时间: 2010-9-13 22:15
标题: 请问大家macro的问题
请问各位前辈
我有一段SAS程序是这样的
%let Infinity=1e30;
%let eps=1e-30;

%macro RollGibbs(dsIn, qOut=qOut, parmOut=parmOut, nSweeps=100,
        qDraw=1, varuDraw=1, regDraw=1, varuStart=0.001, cStart=.01, printLevel=0,
        cLower=0, cUpper=&Infinity);
proc iml;
        start main;
        reset printadv=1;
        call streaminit(1234);        *        Initialize the random number generators;
        reset storage=this.imlstor; load;        *        Reload necessary subroutines;
        show modules;

        *        Read in data;
        use &dsIn;
        if &qDraw=1 then do;
                read all var {p};

以上是一个宏
data vix;

%RollGibbs(vix, qOut=qOut, parmOut=parmOut, nSweeps=100,
        qDraw=1, varuDraw=1, regDraw=1, varuStart=0.001, cStart=.01, printLevel=0,
        cLower=0, cUpper=&Infinity);

以上是全部的程序
但在编译后,log却出现

NOTE: IML Ready
NOTE: Module MAIN defined.
NOTE: New storage library = THIS.IMLSTOR
ERROR: P is not in the scope of variables for the data set.
而且在这之后,输入进去的vix数据都被刷掉了
这是怎么回事呢?




欢迎光临 SAS中文论坛 (https://mysas.net/forum/) Powered by Discuz! X3.2