SAS中文论坛

标题: 关于条件退出MACRO的问题 [打印本页]

作者: shiyiming    时间: 2009-12-10 23:25
标题: 关于条件退出MACRO的问题
大家能帮我看看在下面程序中,当条件成立时如何退出整个MACRO吗,谢谢
作者: shiyiming    时间: 2009-12-11 10:25
标题: Re: 关于条件退出MACRO的问题
没太看明白这个宏的功能,但好象可以用%if语句试试看
[code:3f6t023n]        %if &groups ne admin %then
                %do;
                        filename ls pipe "ls -lR &dir";
                        data permission;
                        infile ls;
                        length permission $ 10 owner group $ 8 Path $ 300 parent $ 300;
                        run;
                %end;[/code:3f6t023n]
作者: shiyiming    时间: 2009-12-11 23:50
标题: Re: 关于条件退出MACRO的问题
我想当 时[color=#FF0000:1g5ytvkf]退出整个macro[/color:1g5ytvkf]哦


有 %if &groups ne a%then %stop/%quit  之类的吗?
作者: shiyiming    时间: 2009-12-12 09:13
标题: Re: 关于条件退出MACRO的问题
不会做,助你好运.
作者: shiyiming    时间: 2009-12-12 10:33
标题: Re: 关于条件退出MACRO的问题
你再试试下面的程序,应该能够解决你的问题,标红为新增加的内容。

%macro zhutou(user=, dir=);
filename id pipe "groups &user";
data groups;
       infile id;
       length groups $ 100;
       input;
       groups = substr(_infile_, find(_infile_, ':')+1);
       call symputx('groups', cats('"', tranwrd(trim(groups), ' ', '","'), '"'));
       [color=#FF0000:3c3ni57z]%if &groups='admin' %then %do;
          %goto exitmacro;
       %end;[/color:3c3ni57z]filename ls pipe "ls -lR &dir";
       data permission;
       infile ls;
       length permission $ 10 owner group $ 8 Path $ 300 parent $ 300;
run;
[color=#FF0000:3c3ni57z]%exitmacto:[/color:3c3ni57z]
%mend;[/quote]
作者: shiyiming    时间: 2009-12-13 23:35
标题: Re: 关于条件退出MACRO的问题
这样可以运行过去,但好像[color=#FF0000:2ww4nlpx]%if &groups='admin' %then %do;[/color:2ww4nlpx]这句没做判断似的,就算groups = 'admin' 程序也不会跳出macro,还是继续运行到最后,请大家再帮我看看啦,时间不多了,谢啦
作者: shiyiming    时间: 2009-12-14 09:38
标题: Re: 关于条件退出MACRO的问题
等你时间用完了我再告诉你引号是多余的
作者: shiyiming    时间: 2009-12-15 01:24
标题: Re: 关于条件退出MACRO的问题
%if ... %then %abort;
作者: shiyiming    时间: 2009-12-15 10:39
标题: Re: 关于条件退出MACRO的问题
[quote="ahuige":1mh0h19a]等你时间用完了我再告诉你引号是多余的[/quote:1mh0h19a]

Cute!! <!-- s:lol: --><img src="{SMILIES_PATH}/icon_lol.gif" alt=":lol:" title="Laughing" /><!-- s:lol: -->




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