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

    首先需要记住三点:

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

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

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

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

  • 相关阅读:
    Linux系统IP地址
    系统网络概述
    系统内存和CPU管理、监控
    系统磁盘资源
    Linux与DOS的常用命令比较
    傻瓜式破解linux--rootpassword
    【iOS】彩虹渐变色 的 Swift 实现
    Spring与Hibernate整合中,使用OpenSessionInViewFilter后出现sessionFactory未注入问题
    OpenCV Haar AdaBoost源代码改进(比EMCV快6倍)
    【Hibernate步步为营】--双向关联一对一映射具体解释(一)
  • 原文地址:https://www.cnblogs.com/abble/p/11263921.html
Copyright © 2011-2022 走看看