- 1、本文档共47页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第6章宏编程技术(sunny)
第6章 宏编程技术 本章内容包括: 概述; ?宏变量; ?宏; ?宏参数; ?宏表达式; ?宏引用; ?宏工具中的输入输出; ?数据步接口程序; ?宏程序语句和宏函数。 概述 宏工具是一种可以用来扩展SAS功能,减少普通工作文本输入量的SAS工具。宏工具可以给一段文本或SAS程序命名,并通过引用这个名称来使用这段程序或文本。 宏变量 定义宏变量 用宏程序语句%LET来定义宏变量。 %let DSN=sunny.bclass; 例中,DSN是宏变量名,sunny.class为宏变量DSN的值。 引用宏变量 在宏变量前加来引用宏变量的值。 ? 例6.1 引用宏变量A。 %let a=sunny.bclass; data a; set a ; run; 上段程序等价于: data a; set sunny.bclass; run; 例6.2 宏处理器只能在双引号内进行替代。 %let a=january; data; put This is the time series plot for A; run; 例中,在引号内引用宏变量的值时必须用双引号。因为宏处理器只能在双引号内进行替代。 例6.3 多次引用宏变量。 %let a=sunny.bclass; data male; set a ; if sex=‘男; proc print; title SUBSET OF A; data female; set a ; if sex=‘女; proc print; title SUBSET OF A; run; 例6.4 改变宏变量的值。 %let m=2000; %let n=1; data a; set ResDat.stk000002; where year(date)=m and month(date)=n; proc gplot data=a; title2 m 年 n 月份收盘价时序图; plot clpr*date; symbol v=star i=join c=red; run; 例中,改变宏变量的值,如:%LET N=2,3,4,5,...,12可以分别得到12个月的时序图。不过,更好的方法是用宏循环来实现这里的要求。 例6.5 宏变量的值为一段完整的SAS程序段。 %let plot=%str( proc gplot data=a; plot clpr*date; symbol1 v=star i=join c=red; run; ); *例中,必须使用%STR函数围住宏变量的值,在以后的程序中可以用PLOT来引用这段程序; %let m=2000; %let n=1; data a; set ResDat.stk000002; where year(date)=m and month(date)=n; plot; title2 m 年 n 月份收盘价时序图; run; 例中,如果不执行宏PLOT步的程序时,可将其设定为空值(%LET PLOT= ;)。 例6.6 宏变量的嵌套引用。 %let m=2000; %let n=1; %let xvar=date; %let yvar=clpr; %let plot=%str( proc gplot data=a; title2 m 年 n 月份收盘价时序图; plot yvar*xvar; symbol1 v=star i=join c=red; run; ); data a; set ResDat.stk000002; where year(date)=m and month(date)=n; run; plot; proc print; title m 年 n 月份收盘价; run; 如何隔开宏变量引用和文本 在混合使用宏变量引用和文本的时候,会遇到宏变量后面紧跟着文本的情况。 如定义宏变量name后,当使用name1,name2时,如果不定义name1和name2这两个宏变量,系统就会提示这两个宏变量并不存在,因为在SAS识别宏变量的时候,自动将name1和name2当成了宏变量的名称。 在宏的引用过程中,当词段扫描器识别一个宏变量名称时,从开始直到遇到一个SAS名称中不允许出现的字符为止。所以空格等一些不允许出现在SAS名称中的字符就可以作为分隔符出现,但是为了不显示这些分隔符,一般使用句号来作为分隔符使用。 显示宏变量值 显示宏变量的最简单方法是使用%put语句,它将文本输出到SAS的日志窗口。 语句格式: %PUT text | _all_ | _automatic_ | _global_ | _local_ | _user_; ? 例6.8 显示宏变量的值。 data _null_; %let a
您可能关注的文档
- 第5章细胞的分裂和分化.ppt
- 第5章触发器wax11.ppt
- 第5章轴对称问题的有限单元法.ppt
- 第5章超声波成像.ppt
- 第5章金融中介原.ppt
- 第5章长度测量技术1.ppt
- 第5讲 微控制器基础2.ppt
- 第5讲 新课程资源开发管理与评价-2015年教师资格培训—学科专业素质(郭孔生主讲).ppt
- 第5节_生态系统的稳定性1.ppt
- 第5章-数控加工编程51概述52数控编程基础知识53工艺分析与数值计算.ppt
- 人教PEP版四年级英语下册Unit6PartA第三课时教学课件完整版.pptx
- 临床标本的细菌学检验培训课件.pptx
- 五一劳动节主题班会.pptx
- 第六单元+小数的加法和减法(B卷+能力提升练)-四年级下册数学单元AB卷(人教版)-含答案.pdf
- 六一儿童节主题班会及活动策划66.pptx
- 肠道菌群失调培训课件.pptx
- 竞选班干部自我介绍16.pptx
- 跨境电子商务基础 第2版 课件 王冰 项目2 筹备跨境电商出口项目.pptx
- 智能交通地理信息系统 教案 任务10--15 绘制内河通航水域红线---比较不同位置的便利性.docx
- 财务共享服务业务处理(第二版)课件 项目5、6 采购-应付共享业务处理、 销售-应收共享业务处理.pptx
最近下载
- 数字孪生流域建设技术导则.pdf VIP
- 拼音纸A4纸可打印.pdf VIP
- 人教版小学数学 二年级下册 电子教案集(最全).doc
- 模块三:全过程造价管理综合应用-----第八套.docx VIP
- 医疗器械经销商管理规定.pptx
- 电力建设发电项目施工汽机专业施工方案.pdf VIP
- JB_T 10764-2023 无损检测 常压金属储罐声发射检测及评价方法.pdf
- T∕CPCACN 0002-2016 卫生杀虫剂、杀鼠剂采购指南 水印版.pdf
- 飞腾腾珑E2000数据手册V0.8.4版本-D.pdf
- 党支部副书记2024-2025年组织生活会个人对照检查(围绕严守政治纪律和政治规矩,维护党的团结统一;增强党性、严守纪律,砥砺作风;在遵规守纪、清正廉洁前提下勇于担责、敢于创新;履行全面从严治党政治责任方面).docx VIP
文档评论(0)