`
心动音符
  • 浏览: 336993 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

sas macro宏变量引用

 
阅读更多
SAS宏变量都放在sashelp.vmacro中,打开后可以看到这些变量的范围(scope)和值。自动生成的宏变量和自定义的宏变量都可以用&来引用。

下面用几个例子来说明如何引用宏变量:

1 直接引用:

程序:

%let dsn=Newdata;  title1 "Contents of Data Set &dsn";

结果:

TITLE1 "Contents of Data Set Newdata";

2 与非宏变量字符结合

2.1 如果非宏变量字符在前,宏变量在后,则直接引用:

程序:

%let name=sales;

data new&name;

set save.&name;

run;

结果:

  DATA NEWSALES;

SET SAVE.SALES;

RUN;

2.2 如果非宏变量字符在后,宏变量在前,则引用后一定要加“.” :

程序:

data &name1 &name2;(未加“.”,应为data &name.1 &name.2;)

set in&name.temp;(加“.”)

run;

结果:

DATA &NAME1 &NAME2;(引用错误)

SET INSALESTEMP;(引用正确)

RUN;

3 当进行层级引用,例如库名.表名时,库名为宏变量时,一定要在后面加两个“.”

程序:

set in&name..temp;(如果只有一个“.”,则结果参照2.2)

set &name..&temp;

结果:

SET INSALES.TEMP;

SET SALES.TEMP;

4 多级引用(非直接引用),例如&city&n的结果是city6,其结果也是一个宏变量,这里要得到这个宏变量的值,需要在前面再加一个&,因此在原表示式前也要加一个&。

程序:

%put &city&n;

%put &&city&n;

如果前面再多加N个&,根据SAS的编译原理,其效果与只加一个&一样。

即&&&city&n 与&&city&n一致。

分享到:
评论

相关推荐

    SAS Macro Language

    - **宏变量引用**:宏变量在宏体或普通 SAS 代码中的引用方式,通常采用 `&variable_name` 的形式。 - **宏函数**:用于处理字符串、数学运算等操作的一组内置宏函数,例如 `%sysfunc`。 #### 五、宏定义与调用 - *...

    SAS Macro Make it easy

    SAS宏设施是SAS系统中的一个功能,它允许程序员使用宏变量(Macro Variables)、宏程序(Macro Programs)和宏语言(Macro Language)来编写可重用的代码,这些代码可以自动执行复杂的SAS程序任务。SAS宏设施的主要...

    软件SAS宏编程

    从内容上来看,本文件涵盖了SAS宏编程的基础知识,包括宏处理器、宏变量、宏定义、参数传递、条件代码生成、高级技术以及宏语言的其他特性。这些知识对于熟悉SAS系统并希望提高SAS编程效率和能力的用户来说至关重要...

    Carpenter's Complete Guide to the SAS Macro Language

    《Carpenter's Complete Guide to the SAS Macro Language》是Art Carpenter在2016年出版的第三版指南,专门针对SAS宏语言提供全面的教程和参考。这本书由SAS Institute Inc.出版,包含了硬拷贝、EPUB、MOBI和PDF等...

    learning some SAS macro

    - **宏变量引用**:在程序中引用宏变量。 - **宏调用**:调用宏来执行特定任务。 - **宏语句**:构成宏的语句集合。 - **宏函数**:执行特定功能的宏命令。 ##### 5. SAS宏运行机制 - **SAS程序**:由词语扫描器、...

    SAS.Publishing.SAS.Macro.Programming.Made.Easy.2nd.Edition.Mar.2007

    ### SAS Macro Programming Made Easy...总之,《SAS Macro Programming Made Easy》第二版是一本深入浅出地讲解SAS宏编程的优秀教材,它不仅能够帮助读者克服宏编程的障碍,还能引导他们熟练掌握SAS宏语言的强大功能。

    sas宏语言基础

    宏变量可以在各种SAS语句中引用,如在数据步中指定变量名、在过程步中指定数据集名等。宏变量的引用需要注意以下几点: - **宏变量引用**:直接引用宏变量时,其值将被直接替换,如`proc print data=&data; var &...

    SAS.9.2.Macro.Language.Reference.rar_SAS Macro Language _macro l

    这份名为"SAS.9.2.Macro.Language.Reference"的压缩包文件,显然是SAS 9.2宏语言的官方参考指南,可以帮助用户深入理解和掌握这一重要工具。 首先,我们要了解什么是SAS宏。宏是预处理指令,它们在SAS程序执行之前...

    SAS_Macro_Programming_Made_Easy

    本书还讨论了如何在实际的SAS项目中有效地使用宏,包括宏变量的使用、宏函数、条件处理、循环结构以及其他高级宏编程技巧。它以实际案例展示宏如何能够处理许多SAS编程任务,从而使得程序员可以快速高效地完成工作。...

    SAS/MACRO

    6. **宏代换(Macro Substitution)**:在宏执行过程中,SAS会先进行宏代换,将宏变量替换为其对应的值,然后再执行实际的SAS语句。 7. **全局宏变量与局部宏变量**:全局宏变量在整个SAS会话期间都有效,而局部宏...

    sas 宏编程详解---SAS.9.1.Macro.Language.Reference.Apr.2004

    SAS 9.1 宏语言参考手册(SAS.9.1.Macro.Language.Reference.Apr.2004)是一本详细介绍SAS宏编程技术的专业书籍。SAS作为一种广泛应用于数据分析领域的软件,其宏编程功能为用户提供了强大的定制化能力。本书旨在...

    SAS语言的宏功能.pdf

    在宏变量引用和文本混合使用的情况下,需要特别注意避免SAS将连续的文本误认为是宏变量名。解决方法是在宏变量名后加上句号或其他分隔符,例如: ```sas %PUT &dsn.1 &dsn.2; ``` #### 三、宏定义与调用 ##### ...

    SAS语言的宏功能[归纳].pdf

    宏变量主要用于存储文本字符串,并能够在SAS程序中通过引用这些变量来插入特定的文本。宏变量的值最大长度可达65534个字符,且长度随存储文本的变化而变化。根据作用域的不同,宏变量可分为全局宏变量和局部宏变量:...

    sas_sas_SAS宏程序开发_

    在SAS编程环境中,宏程序(Macro)是一种强大的工具,用于实现代码的重用和自动化。SAS宏程序开发能够显著提高工作效率,特别是在处理大量数据和复杂分析时。本资料包着重介绍了如何利用SAS宏语言来编写宏程序,以及...

    SAS_base_macro

    - 宏定义(%macro)用于创建宏变量,它是一个可以存储数据的特殊变量,其值可以在运行时动态改变。 - 宏调用(%mend)用于执行宏定义。宏名称后面跟一对括号,其中可以传递参数。 2. **宏变量**: - 宏变量以"&...

    SAS语言的宏功能[参照].pdf

    在宏变量引用与文本混用的情况下,需要确保宏变量引用与后续文本之间有明确的分隔。一种常见做法是在宏变量引用后添加一个分隔符,通常是句号(`.`): ```sas %put &dsn.; ``` 这避免了SAS将后续文本误认为是宏变量...

    SAS® 9.1 Macro Language.pdf

    - **引用**:使用“&”符号引用宏变量。 - **条件表达式**:通过条件表达式(如IF-THEN/ELSE语句)动态地设置宏变量的值。 **示例应用**:假设需要在多个地方使用同一个日期字符串,可以通过宏变量来实现这一点,...

    SAS COURSE NOTES 吐血收集(含:programming1-3、statistic1-2,SQL、macro共8个课程)

    Macro课程将教授如何定义和调用宏变量,以及创建宏程序。学习者将了解到宏的逻辑控制、条件语句和循环,以及如何使用宏来自动化复杂的SAS任务,如批量处理数据集或生成报告。 这些课程笔记将帮助学习者系统地构建...

    SAS宏_经典教程_2007年第二版_

    ### SAS宏编程经典教程知识点概览 #### 一、书籍定位与目标读者 - **书籍定位**:本书《SAS宏编程经典教程》是专为初学者至有经验的SAS用户设计的一本指南,旨在教授SAS宏编程的基础与进阶知识。 - **目标读者**:...

Global site tag (gtag.js) - Google Analytics