关于宏的系统选项

MCOMPILENOTE=NONE|NOAUTOCALL|ALL

该系统选项控制是否在日志当中显示宏程序编译时的信息,默认值为NONE,也就是不显示。其中NOAUTOCALL针对的是Autocall Macro

MEXECNOTE | NOMEXECNOTE

该系统选项与MCOMPILENOTE是类似的功能,用于控制当调用一个宏程序时,是否在日志当中显示相应的信息,默认值为NOMEXECNOTE

MERROR|NOMERROR

该系统选项控制当调用一个宏程序且找不到该程序时,是否在日志中显示一条警告信息。默认值为MERROR,会在日志当中显示警告信息

SERROR | NOSERROR

该系统选项控制当使用一个宏变量且找不到该宏变量时,是否在日志中显示一条警告信息。默认值为SERROR,会在日志当中显示警告信息

MCOMPILE|NOMCOMPILE

该系统选项用于控制是否允许定义一个新的宏程序,默认值为MCOMPILE。如果将其修改为NOCOMPILE,则不能再定义一个新的宏程序

SYSPARM=

该选项可存储一个文本字符串,最大可存储200个字节的字符。存储后的值可在DATA步中使用SYSPARM()函数获取,也可以通过宏变量SYSPARM获取(该宏变量是SAS系统提供的全局宏变量,可在任何地方使用)

MLOGIC|NOMLOGIC

MLOGICNEST|NOMLOGICNEST

MPRINT|NOMPRINT

MPRINTNEST|NOMPRINTNEST

SYMBOLGEN|NOSYMBOLGEN

这5个选项经常会用于调试宏程序的过程中,可以在日志中显示宏程序执行过程中生成的SAS代码及相关的信息。具体来说:

  • MLOGIC、MLOGICNEST会将宏程序执行的逻辑在日志中显示出来,其中后者会将嵌套的逻辑也显示出来;

  • MPRINT、MPRINTNEST会将宏程序生成的SAS代码在日志中显示出来,其中后者会将嵌套宏的信息也显示出来;

  • SYMBOLGEN会将宏执行过程中所有宏变量的解析的值在日志中显示出来。

MFILE | NOMFILE

该选项可以将MPRING选项生成的SAS代码输出到外部文件中,该选项必须和MPRINT选项一起使用。同时,输出的外部文件通过FILENEMA语句定义,fileref必须为MPRINT

DATA步函数及call例程

SYMEXIST(argument)

该函数与宏函数%SYMEXIST()是相同的功能,用于判断一个宏变量是否存在。如果存在,返回1;否则,返回0。只不过SYMEXIST只能用在DATA步中,其中参数可以直接传递宏变量的名字;也可以是某个变量,该变量的值为宏变量的名字

SYMGET(argument)

该函数用于在DATA步执行的阶段获取指定宏变量的值,返回值为字符串。其中参数可以直接传递宏变量的名字;也可以是某个变量,该变量的值为宏变量的名字。

需要特别注意的是,SYMGET是在DATA步执行阶段获取指定宏变量的值

SYMGLOBAL(argument)

该函数与宏函数%SYMGLOBL的功能是一样的,用于判断一个宏变量是否是全局宏变量。如果是,则返回1;否则,返回0。只不过该函数是用在DATA步中。其中参数可以直接传递宏变量的名字;也可以是某个变量,该变量的值为宏变量的名字

SYMLOCAL(argument)

该函数与宏函数%SYMLOCAL的功能是一样的,用于判断一个宏变量是否是局部宏变量。如果是,则返回1;否则,返回0。只不过该函数是用在DATA步中。其中参数可以直接传递宏变量的名字;也可以是某个变量,该变量的值为宏变量的名字

CALL SYMDEL(macro-variable <, option>)

该call例程与宏函数%SYMDEL是相同的功能,用于删除一个宏变量。只不过该例程是用在DATA步中。其中参数可以直接传递宏变量的名字;也可以是某个变量,该变量的值为宏变量的名字;option为NOWARN。默认情况下,如果要删除的宏变量不存在,则会有一条警告信息在日志中。指定该选项后,则不再显示该警告信息

CALL EXECUTE(argument);

该CALL例程可在当前DATA步结束后,执行参数中的内容。该参数可以以下几种形式:

  • 用引号引起来的代码;

  • 变量名,该变量名中保存某个宏程序的调用;或者某个需要指定的代码;

  • 单引号引起来的宏程序的调用;

RESOLVE(argument)

该函数在DATA执行的时候解析宏变量及宏程序的调用,并且返回解析后的内容。可以实现SYMGET的功能,获取宏变量的值,此外还可以解析宏程序的结果

SAS学习笔记45 宏系统选项及其他的更多相关文章

  1. SAS学习笔记之《SAS编程与数据挖掘商业案例》(4)DATA步循环与控制、常用全程语句、输出控制

    SAS学习笔记之<SAS编程与数据挖掘商业案例>(4)DATA步循环与控制.常用全程语句.输出控制 1. 各种循环与控制 DO组 创建一个执行语句块 DO循环 根据下标变量重复执行DO和E ...

  2. SAS学习笔记之《SAS编程与数据挖掘商业案例》(3)变量操作、观测值操作、SAS数据集管理

    SAS学习笔记之<SAS编程与数据挖掘商业案例>(3)变量操作.观测值操作.SAS数据集管理 1. SAS变量操作的常用语句 ASSIGNMENT 创建或修改变量 SUM 累加变量或表达式 ...

  3. SAS学习笔记之《SAS编程与数据挖掘商业案例》(5)SAS宏语言、SQL过程

    SAS学习笔记之<SAS编程与数据挖掘商业案例>(5)SAS宏语言.SQL过程 1. 一个SAS程序可能包含一个或几个语言成分: DATA步或PROC步 全程语句 SAS组件语言(SCL) ...

  4. SAS学习笔记之《SAS编程与数据挖掘商业案例》(2)数据获取与数据集操作

    SAS学习笔记之<SAS编程与数据挖掘商业案例>(2)数据获取与数据集操作 1. SET/SET效率高,建立的主表和建表索引的查询表一般不排序, 2. BY语句,DATA步中,BY语句规定 ...

  5. SAS学习笔记之《SAS编程与数据挖掘商业案例》(1)系统简介和编程基础

    SAS学习笔记之<SAS编程与数据挖掘商业案例>(1)系统简介和编程基础 1. SAS系统简介 1.1 SAS是先编译后执行的语言,data步标志着编译的开始. 数据指针:当前内存缓存区, ...

  6. [原创]java WEB学习笔记45:自定义HttpFilter类,理解多个Filter 代码的执行顺序,Filterdemo:禁用浏览器缓存的Filter,字符编码的Filter,检查用户是否登陆过的Filter

    本博客为原创:综合 尚硅谷(http://www.atguigu.com)的系统教程(深表感谢)和 网络上的现有资源(博客,文档,图书等),资源的出处我会标明 本博客的目的:①总结自己的学习过程,相当 ...

  7. CUBRID学习笔记 45 REPLACE DELETE MERGE 教程

    c#,net,cubrid,教程,学习,笔记欢迎转载 ,转载时请保留作者信息.本文版权归本人所有,如有任何问题,请与我联系wang2650@sohu.com . 过错 ------ 官方文档是英文的, ...

  8. SAS学习笔记37 宏程序中parmbuff选项

    该选项用于指定宏可以接受可变参数列表,而且参数值保存在SYSPBUFF宏变量中.parmbuff的参数价值,其实就是每次执行宏程序时,可以指定不同数量的参数值,这些宏参数被保存在&syspbu ...

  9. SAS学习笔记59 OPTIONS系统选项

    带VALUE选项的OPTIONS过程将指定选项的值.范围及该值如何设置的信息打印到日志窗口 在日志窗口打印的输出如下图所示 将GETOPTION函数作为%SYSFUNC宏函数的参数,从而获取系统选项设 ...

随机推荐

  1. php手记之02-tp5请求参数读取三种方式

    01-[推荐方式] 当浏览器向Web服务器发出请求时,它向服务器传递了一个数据块,也就是请求信息.在Thinkphp5.1中,获取请求对象数据,是由think\Request类负责,在很多场合下并不需 ...

  2. Linux | Vim使用

    Linux vi/vim 所有的 Unix Like 系统都会内建 vi 文书编辑器,其他的文书编辑器则不一定会存在. 但是目前我们使用比较多的是 vim 编辑器. vim 具有程序编辑的能力,可以主 ...

  3. MeasureSpec常用方法

    package com.loaderman.customviewdemo; import android.content.Context; import android.util.AttributeS ...

  4. nginx指定允许的IP访问

    接下来我们将tomcat.i4t.com 也就是10.4.82.140进行配置权限 #只允许10.4.82.142访问 cat /usr/local/nginx/conf/nginx.conf use ...

  5. Oracle 表的行数、表占用空间大小,列的非空行数、列占用空间大小 查询

    --表名,表占用空间大小(MB),行数select table_name, round(num_rows * avg_row_len /1024/1024, 8) as total_len, num_ ...

  6. 自定义基于IFC数据的施工进度数据结构

    <DataSource>D:/qlbz20190802.ifc</DataSource> <Datas> <Data> <ID></I ...

  7. 算法习题---4-5IP网络(Uva1590)

    一:题目 给出m(1到10000之间)个IP地址,求他们最小的网络号和子网掩码 (一)样例输入 3 表示要获取的IP地址个数 194.85.160.177 IP地址 194.85.160.183 19 ...

  8. tornado之自定义form表单验证

    直接上链接吧:银角的地址 源码下载链接:点我点我点我...

  9. C# WebApi 接口传参详解

    这篇文章主要介绍了C# WebApi 接口传参详解,本篇打算通过get.post.put.delete四种请求方式分别谈谈基础类型(包括int/string/datetime等).实体.数组等类型的参 ...

  10. jQuery学习三——事件

    代码如下: <!DOCTYPE html> <html> <head> <title>jquery事件</title> </head& ...