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会进行多次解析,得到最终的结果

    首先需要记住三点:

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

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

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

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

  • 相关阅读:
    Nodejs中的流
    Openstack Havana的两个排错过程
    Mongoose入门
    Promise
    CSS3中的动画
    MySql学习笔记(一)--安装配置
    应用Dubbo框架打造仿猫眼项目(二) 影片模块开发
    应用Dubbo框架打造仿猫眼项目(一) 用户模块开发
    4种事务的隔离级别
    JAVA面试题解惑系列(一)——类的初始化顺序
  • 原文地址:https://www.cnblogs.com/abble/p/11263921.html
Copyright © 2011-2022 走看看