SAS中文论坛

标题: 不知道 为什么这样(var &mvar1 &mvar2 &mvar3 &mvar4;)使用 宏 就是不行呢? [打印本页]

作者: shiyiming    时间: 2010-6-12 10:56
标题: 不知道 为什么这样(var &mvar1 &mvar2 &mvar3 &mvar4;)使用 宏 就是不行呢?
下面是一些问题,请高手们指教啊

%let mydata=prog1.group;
%let mvar1=age;
%let mavr2=height;
%let mvar3=weight;
%let mvar4=pulsevs;
%let mclass=group;

上面的没有问题,但是下面使用会出错:变量 MVAR2 没有找到

&:是地址符号

proc  means  data=&mydata  N  NMISS mean STD min max  median QRANGE;
var &mvar1 &mvar2 &mvar3 &mvar4;
/*var age height weight pulsevs;*/
by &mclass;
run;

改成实际的变量之后,下面一行程序是可以的
proc  means  data=&mydata  N  NMISS mean STD min max  median QRANGE;
var age height weight pulsevs;
by &mclass;
run;


但是如果这样设:
%let variable=age height weight pulsevs;
下面就是可以的

proc  means  data=&mydata  N  NMISS mean STD min max  median QRANGE;
var &variable;
by &mclass;
run;
作者: shiyiming    时间: 2010-6-12 12:52
标题: Re: 不知道 为什么这样(var &mvar1 &mvar2 &mvar3 &mvar4;)使用 宏 就是不行呢?
大哥,这是“大家来找茬”游戏吗?
[quote:1u1clce6]%let m[color=#FF0000:1u1clce6]av[/color:1u1clce6]r2=height;
var &mvar1 &m[color=#FF0000:1u1clce6]va[/color:1u1clce6]r2 &mvar3 &mvar4;[/quote:1u1clce6]

by the way,看这2字母好想笑
作者: shiyiming    时间: 2010-6-12 16:04
标题: Re: 不知道 为什么这样(var &mvar1 &mvar2 &mvar3 &mvar4;)使用 宏 就是不行呢?
<!-- s:? --><img src="{SMILIES_PATH}/icon_confused.gif" alt=":?" title="Confused" /><!-- s:? -->  厉害啊 我们好几个人都没有检查出来
谢谢
作者: shiyiming    时间: 2010-6-12 19:20
标题: Re: 不知道 为什么这样(var &mvar1 &mvar2 &mvar3 &mvar4;)使用 宏 就是不行呢?
真的厉害,心如发细。我也没有看出来。 <!-- s:shock: --><img src="{SMILIES_PATH}/icon_eek.gif" alt=":shock:" title="Shocked" /><!-- s:shock: -->
作者: shiyiming    时间: 2010-6-13 08:08
标题: Re: 不知道 为什么这样(var &mvar1 &mvar2 &mvar3 &mvar4;)使用 宏 就是不行呢?
首先,我在网页上看了一遍,感觉不应该报错呀
然后,复制粘贴到SAS上运行一下,惊讶的发现真的报错了
再然后,打开symbolgen再运行一下,log说除了&amp;mavr2没解析,其他地方都没事,仔细一看,原来是AV惹的祸

结论:在测试阶段,mprint/symbolgen/mlogic/mcompilenote很重要
作者: shiyiming    时间: 2010-6-13 08:19
标题: Re: 不知道 为什么这样(var &mvar1 &mvar2 &mvar3 &mvar4;)使用 宏 就是不行呢?
想是AV,其实是VA,好沮丧啊。M(美眉)+AV+R(级)还要两个!胃口好大啊。
作者: shiyiming    时间: 2011-6-7 16:16
标题: Re: 不知道 为什么这样(var &mvar1 &mvar2 &mvar3 &mvar4;)使用 宏 就是不行呢?
精彩。。
作者: shiyiming    时间: 2011-6-7 18:48
标题: Re: 不知道 为什么这样(var &mvar1 &mvar2 &mvar3 &mvar4;)使用 宏 就是不行呢?
[quote=&quot;hopewell&quot;:1jfjqtpe]大哥,这是“大家来找茬”游戏吗?
...

by the way,看这2字母好想笑[/quote:1jfjqtpe]

楼主故意的.. <!-- s:lol: --><img src="{SMILIES_PATH}/icon_lol.gif" alt=":lol:" title="Laughing" /><!-- s:lol: -->




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