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 代码中的引用方式,通常采用 `&variable_name` 的形式。 - **宏函数**:用于处理字符串、数学运算等操作的一组内置宏函数,例如 `%sysfunc`。 #### 五、宏定义与调用 - *...
SAS宏设施是SAS系统中的一个功能,它允许程序员使用宏变量(Macro Variables)、宏程序(Macro Programs)和宏语言(Macro Language)来编写可重用的代码,这些代码可以自动执行复杂的SAS程序任务。SAS宏设施的主要...
从内容上来看,本文件涵盖了SAS宏编程的基础知识,包括宏处理器、宏变量、宏定义、参数传递、条件代码生成、高级技术以及宏语言的其他特性。这些知识对于熟悉SAS系统并希望提高SAS编程效率和能力的用户来说至关重要...
《Carpenter's Complete Guide to the SAS Macro Language》是Art Carpenter在2016年出版的第三版指南,专门针对SAS宏语言提供全面的教程和参考。这本书由SAS Institute Inc.出版,包含了硬拷贝、EPUB、MOBI和PDF等...
- **宏变量引用**:在程序中引用宏变量。 - **宏调用**:调用宏来执行特定任务。 - **宏语句**:构成宏的语句集合。 - **宏函数**:执行特定功能的宏命令。 ##### 5. SAS宏运行机制 - **SAS程序**:由词语扫描器、...
### SAS Macro Programming Made Easy...总之,《SAS Macro Programming Made Easy》第二版是一本深入浅出地讲解SAS宏编程的优秀教材,它不仅能够帮助读者克服宏编程的障碍,还能引导他们熟练掌握SAS宏语言的强大功能。
宏变量可以在各种SAS语句中引用,如在数据步中指定变量名、在过程步中指定数据集名等。宏变量的引用需要注意以下几点: - **宏变量引用**:直接引用宏变量时,其值将被直接替换,如`proc print data=&data; var &...
这份名为"SAS.9.2.Macro.Language.Reference"的压缩包文件,显然是SAS 9.2宏语言的官方参考指南,可以帮助用户深入理解和掌握这一重要工具。 首先,我们要了解什么是SAS宏。宏是预处理指令,它们在SAS程序执行之前...
本书还讨论了如何在实际的SAS项目中有效地使用宏,包括宏变量的使用、宏函数、条件处理、循环结构以及其他高级宏编程技巧。它以实际案例展示宏如何能够处理许多SAS编程任务,从而使得程序员可以快速高效地完成工作。...
6. **宏代换(Macro Substitution)**:在宏执行过程中,SAS会先进行宏代换,将宏变量替换为其对应的值,然后再执行实际的SAS语句。 7. **全局宏变量与局部宏变量**:全局宏变量在整个SAS会话期间都有效,而局部宏...
SAS 9.1 宏语言参考手册(SAS.9.1.Macro.Language.Reference.Apr.2004)是一本详细介绍SAS宏编程技术的专业书籍。SAS作为一种广泛应用于数据分析领域的软件,其宏编程功能为用户提供了强大的定制化能力。本书旨在...
在宏变量引用和文本混合使用的情况下,需要特别注意避免SAS将连续的文本误认为是宏变量名。解决方法是在宏变量名后加上句号或其他分隔符,例如: ```sas %PUT &dsn.1 &dsn.2; ``` #### 三、宏定义与调用 ##### ...
宏变量主要用于存储文本字符串,并能够在SAS程序中通过引用这些变量来插入特定的文本。宏变量的值最大长度可达65534个字符,且长度随存储文本的变化而变化。根据作用域的不同,宏变量可分为全局宏变量和局部宏变量:...
在SAS编程环境中,宏程序(Macro)是一种强大的工具,用于实现代码的重用和自动化。SAS宏程序开发能够显著提高工作效率,特别是在处理大量数据和复杂分析时。本资料包着重介绍了如何利用SAS宏语言来编写宏程序,以及...
- 宏定义(%macro)用于创建宏变量,它是一个可以存储数据的特殊变量,其值可以在运行时动态改变。 - 宏调用(%mend)用于执行宏定义。宏名称后面跟一对括号,其中可以传递参数。 2. **宏变量**: - 宏变量以"&...
在宏变量引用与文本混用的情况下,需要确保宏变量引用与后续文本之间有明确的分隔。一种常见做法是在宏变量引用后添加一个分隔符,通常是句号(`.`): ```sas %put &dsn.; ``` 这避免了SAS将后续文本误认为是宏变量...
- **引用**:使用“&”符号引用宏变量。 - **条件表达式**:通过条件表达式(如IF-THEN/ELSE语句)动态地设置宏变量的值。 **示例应用**:假设需要在多个地方使用同一个日期字符串,可以通过宏变量来实现这一点,...
Macro课程将教授如何定义和调用宏变量,以及创建宏程序。学习者将了解到宏的逻辑控制、条件语句和循环,以及如何使用宏来自动化复杂的SAS任务,如批量处理数据集或生成报告。 这些课程笔记将帮助学习者系统地构建...
### SAS宏编程经典教程知识点概览 #### 一、书籍定位与目标读者 - **书籍定位**:本书《SAS宏编程经典教程》是专为初学者至有经验的SAS用户设计的一本指南,旨在教授SAS宏编程的基础与进阶知识。 - **目标读者**:...