sas试题课笔记一.doc

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
sas试题课笔记一

/●宏编程技术●/ ●怎样显示宏变量的值?解释下面的程序; /●注意在解释程序时每一句需要解释且结果要解释●/ data _null_; /●通过数据步处理数据,但不建立数据集●/ %let a=first; /●建立宏变量a,值为first●/ %let b=macro variable; /●用宏程序语句%let定义宏变量,一个%let语句只能定义一个宏变量; %put a !!! b !!!; /●‘宏变量名’引用宏变量的值;%put语句显示宏变量的值,将文本输出到 SAS的日志窗口; /●在log窗口输出 first !!! macro variable !!!●/ run; /●提交程序●/ ●答 %put是显示宏变量最简单的方法; /●9——解释并调用下面一段宏●/ %macro names(name, number); ●定义含参数的宏,宏参数是一种特殊的宏变量; %do n=1 %to number; /●利用宏循环语句循环生成一系列字符串,循环宏变量n从1到number●/ namen /●调用宏变量name和宏变量n,生成字符串●/ %end; /●结束宏循环语句●/ %mend names; /●结束宏names的定义●/ %names(sas,6); /●调用宏names●/ /●11.在数据步中变量x的值赋于给宏变量A时这两种程序都可以吗●/ call symput(A,x); ●将变量的值赋于宏变量,一个子程序只能将一个变量的值赋于宏变量; %let A=x; ●%let语句定义的是宏变量的值,调用宏变量A时,相当于调用了字符串x; ●答:不可以,应该用call symput(A,x)%let定义的宏变量,其值为赋值 符号后面的字符串X,不会进行变量运算; data a; set data.class nobs=nobs; call symput (b,nobs); %let a=nobs; %put a b; ●从下面的日志窗口的结果可以看出宏变量a的值被定义为字符串‘nobs’而宏变量b的定义为变量nobs的值; run; /● data a; 26 set data.class nobs=nobs; 27 call symput (b,nobs); 28 %let a=nobs; 29 %put a b; nobs 19 30 run; NOTE: 数字值已转换为字符值,位置:(行:列)。 ●/ /●12.解释下面语句的结果●/ %let x=5; %let y=%eval(x+200);●%eval()宏计算函数可以将整数文本暂时转换为一个数值并对整数值的表达式进行计算,结果也取整数; %let z=x+200; ●只是将一个字符串赋予宏变量z,将宏变量x的值+200形成的表达式赋给Z; %put y z; ●205 5+200——日志窗口的结果; data %substr(sysday,1,3);● 创建了空数据集/临时数据集work.wed 数据集的名字为系统宏变量sysday的值的前三个字符形成 的字符串,sysday的值为今天星期几的英文单词; run; ●宏字符函数%substr()——提取字符串中的字串 produce a substring of argument, beginning at position, for length number of characters. syntax: %SUBSTR (argument, position, length); ●自动宏变量sysday——Contains the day of the week that a SAS job or session began executing Details You can use SYSDAY to check the current day before executing code that you want to run on certain days of the week, provided you initialized your SAS session today. (1,9)wednesday, (2,9)EDNESDAY (3,9)DNESDAY——不明白; /●17——使用%include语句将一个大数据集拆分成多个小数据集 根

文档评论(0)

153****9595 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档