SAS中文论坛

 找回密码
 立即注册

扫一扫,访问微社区

查看: 870|回复: 8
打印 上一主题 下一主题

关于条件退出MACRO的问题

[复制链接]

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
楼主
 楼主| 发表于 2009-12-10 23:25:39 | 只看该作者

关于条件退出MACRO的问题

大家能帮我看看在下面程序中,当条件成立时如何退出整个MACRO吗,谢谢
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
沙发
 楼主| 发表于 2009-12-11 10:25:40 | 只看该作者

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]
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
板凳
 楼主| 发表于 2009-12-11 23:50:16 | 只看该作者

Re: 关于条件退出MACRO的问题

我想当 时[color=#FF0000:1g5ytvkf]退出整个macro[/color:1g5ytvkf]哦


有 %if &groups ne a%then %stop/%quit  之类的吗?
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
地板
 楼主| 发表于 2009-12-12 09:13:27 | 只看该作者

Re: 关于条件退出MACRO的问题

不会做,助你好运.
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
5#
 楼主| 发表于 2009-12-12 10:33:37 | 只看该作者

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]
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
6#
 楼主| 发表于 2009-12-13 23:35:28 | 只看该作者

Re: 关于条件退出MACRO的问题

这样可以运行过去,但好像[color=#FF0000:2ww4nlpx]%if &groups='admin' %then %do;[/color:2ww4nlpx]这句没做判断似的,就算groups = 'admin' 程序也不会跳出macro,还是继续运行到最后,请大家再帮我看看啦,时间不多了,谢啦
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
7#
 楼主| 发表于 2009-12-14 09:38:37 | 只看该作者

Re: 关于条件退出MACRO的问题

等你时间用完了我再告诉你引号是多余的
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
8#
 楼主| 发表于 2009-12-15 01:24:11 | 只看该作者

Re: 关于条件退出MACRO的问题

%if ... %then %abort;
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
9#
 楼主| 发表于 2009-12-15 10:39:30 | 只看该作者

Re: 关于条件退出MACRO的问题

[quote="ahuige":1mh0h19a]等你时间用完了我再告诉你引号是多余的[/quote:1mh0h19a]

Cute!! <!-- s:lol: --><img src="{SMILIES_PATH}/icon_lol.gif" alt=":lol:" title="Laughing" /><!-- s:lol: -->
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|手机版|Archiver|SAS中文论坛  

GMT+8, 2026-2-6 06:25 , Processed in 0.070926 second(s), 20 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表