zoukankan      html  css  js  c++  java
  • SAS学习笔记41 宏变量存储及间接引用

    Macro Variables存储在“Symbol Table”中。它是由Macro Processor在SAS启动时自动创建并维护的。SAS提供了一张视图来供我们查看Symbol Table中的内容,其位于SASHELP逻辑库下:“SASHELP.VMACRO

    Symbol Table分为Global Symbol TableLocal Symbol Table(Automatic Macro Variables中了除了SYSPBUFF,都属于Global)

    因此,上面提到的SASHELP.VMACRO,准确来讲只包含Global Symbol Table中的内容。Local Symbol Table仅存在于Macro Program运行的阶段,无法像Global Symbol Table那样直接通过视图来查看

    创建局部宏变量,建议使用%LOCAL语句。如果不使用%LOCAL语句,而且%LET语句中的宏变量已经是一个全局宏变量,那么就会修改全局宏变量的值,而不会再创建一个宏变量

    SAS程序中主要包含DATA步、PROC步、宏程序这三部分;在一个SAS程序中,宏程序之外的部分(即%MACRO语句和%MEND语句之外的部分)都称之为Open Code

    间接引用

    通过一个Macro Variable得到另外一个Macro Variable的取值。

    对于含有多个“&”的间接引用方式,Macro Processor会进行多次解析,得到最终的结果

    首先需要记住三点:

    • 如果解析过程中遇到连续的两个“&&”会把它解析为一个“&”;

    • 如果解析完的结果中还有“&”,会触发第二次解析;

    • 如果解析过程中遇到“.”,当做分隔符处理,其不会出现在解析结果中;

    上面这些间接引用好像都是两层的,有没有更多层级的引用?不用怀疑,绝对有。想要多少层都可以,只需要加“&”就可以。

  • 相关阅读:
    工作笔记(一)
    如何修改mindmanager默认字体为微软雅黑
    彻底解决zend studio 下 assignment in condition警告
    PHP5.2至5.6的新增功能详解
    ThinkPHP中的模型命名
    12大网站建设技巧 让访客信任你
    CentOS 7.0编译安装Nginx1.6.0+MySQL5.6.19+PHP5.5.14
    几种不错的编程字体
    大型网站的灵魂——性能
    MySQL: InnoDB 还是 MyISAM?
  • 原文地址:https://www.cnblogs.com/abble/p/11263921.html
Copyright © 2011-2022 走看看