zoukankan      html  css  js  c++  java
  • SAS学习笔记43 宏语句

    流程控制

    %GOTO语句与%label语句是结合起来使用的。首先通过%label语句定义一个位置,使用%GOTO语句可直接将程序的执行位置跳到该label标记位置,达到控制程序执行顺序的目的。可实现与%IF %THEN / %ELSE相同的功能。

    其中%GOTO语句中的label就是%label语句当中定义个label;%label语句中label后面的冒号不能省略(注:%label语句中的label不是个关键字,而是一个标记的名字。可用任何有效的SAS名代替)

    提示:在使用%GOTO和%label语句的时候要非常谨慎,一不小心就会导致程序执行顺序错乱,出现死循环。

    %RETURN语句用于跳出当前的宏程序,不再继续往下执行该宏。类似于循环中的BREAK语句

    %ABORT语句用来对SAS程序做异常捕获。如果符合某些特殊条件,需要停止SAS执行,甚至结束当前的进程。这种情况下就需要该语句。根据不同的选项及环境有会有不同的结果。其语法形式为:

    %ABORT <ABEND | CANCEL | <FILE> | RETURN | <n>>;

    %ABORT语句会触发一个错误消息显示在日志当中,提示程序停止执行

    ABEND选项将会导致直接关闭并退出当前的SAS会话进程

    CANCEL选项不会导致关闭并退出当前的会话进程

    RETURN选项同样会导致关闭并退出当前的会话进程

    由于%ABORT语句基本上不会用到,此处就不做详细阐述

    %GOTO、%label、%RETURN、%ABORT这四个语句是比较早的流程控制语句,在日常工作中几乎很少用到

    有关宏变量

    %LOCAL语句在宏内部用于声明某个宏变量是局部宏变量,与全局的宏变量进行区分(即使名字一样,在内外也是不一样的)。另外,该语句还可以在声明时设定宏变量为只读的

    %LOCAL / READONLY macro-variable=value;

  • 相关阅读:
    什么是em?
    数据结构与算法:快速排序
    flex中flexshrink的理解
    前端的padding是参照父元素的宽度还是高度?
    子元素的border不能通过百分比设置的
    数据库去重的简易方法
    windows2003 iis6.0站点打不开,找不到服务器或 DNS 错误。
    常用WebServices返回数据的4种方法比较
    手机身份证IP地址开放接口(很实用哦)
    从创业失败中学到的七条教训
  • 原文地址:https://www.cnblogs.com/abble/p/11264428.html
Copyright © 2011-2022 走看看