楼主: dahufa123
3866 2

程序中“%finish:”是什么意思 [推广有奖]

  • 0关注
  • 2粉丝

本科生

36%

还不是VIP/贵宾

-

威望
0
论坛币
35 个
通用积分
0.2605
学术水平
23 点
热心指数
25 点
信用等级
22 点
经验
3723 点
帖子
66
精华
0
在线时间
62 小时
注册时间
2009-3-16
最后登录
2024-4-8

楼主
dahufa123 发表于 2010-6-22 19:11:03 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
我在http://blog.sina.com.cn/s/blog_5d3b177c0100bjom.html看到一个sas示例程序,其中有一个“%finish:”。我不明白是什么意思。有哪位大侠能告诉我是什么意思吗?
原示例程序:

另一个例子是判别是否指定的数据集存在:
%let error = 0 ;
%if %sysfunc(exist(&data)) = 0 %then %do ;
  %put ERROR: data set &data does not exist ;
  %let error = 1 ;
%end ;

%if  &error = 1 %then %goto finish ;

%finish:

其中“%finish:"是什么意思?
我只知道iml中有个finish语句,此处不知道是否在iml中,而且也和我知道的finish语句不同,那是与start配对的,而且也没有以“:”结束的呀?
期待高手解我疑惑
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:finish 是什么意思 Fin NIS sysfunc 程序 意思 finish

回帖推荐

BraveMadMan 发表于2楼  查看完整内容

这里 %finish: 是一个标识。如果 &error = 1,程序就跳到%finish: ,然后继续运行。如果下边还有程序,就继续运行;如果没有了,就结束。 例如,下边这段程序用于决定运行两个数据库中的其中一个:如果函数是dsn=female,程序跳到%female:标记出开始运行;如果函数是dsn=male,程序跳到%male:标记出开始运行。 这里%XXXXX: (XXXXX=female, male, or next)起到一个书签的作用。 参考Carpenter's Complete Guide to the S ...

本帖被以下文库推荐

沙发
BraveMadMan 发表于 2010-6-22 20:22:18
这里 %finish: 是一个标识。如果 &error = 1,程序就跳到%finish: ,然后继续运行。如果下边还有程序,就继续运行;如果没有了,就结束。

例如,下边这段程序用于决定运行两个数据库中的其中一个:
  1. %macro make(dsn);
  2. %goto &dsn;
  3. %female:
  4. data wt;
  5. set female;
  6. wt = wt * 2.2;
  7. run;
  8. %goto next;
  9. %male:
  10. data wt;
  11. set male;
  12. run;
  13. %next:
  14. %mend make;
复制代码
如果函数是dsn=female,程序跳到%female:标记出开始运行;如果函数是dsn=male,程序跳到%male:标记出开始运行。

这里%XXXXX: (XXXXX=female, male, or next)起到一个书签的作用。

参考Carpenter's Complete Guide to the SAS Macro Language, 2nd Edition,第92页.
已有 1 人评分论坛币 收起 理由
peijiamei + 100 精彩帖子

总评分: 论坛币 + 100   查看全部评分

藤椅
dahufa123 发表于 2010-6-22 21:17:42
2# BraveMadMan
多谢。如此说来finish本身没有意义仅是个代号了。
豁然开朗万分感谢

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-25 01:32