楼主: 丁丁丫头
2286 6

SAS advanced 考题求解 [推广有奖]

  • 0关注
  • 0粉丝

初中生

23%

还不是VIP/贵宾

-

威望
0
论坛币
6 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
248 点
帖子
11
精华
0
在线时间
3 小时
注册时间
2016-4-9
最后登录
2016-5-3

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
大家好,
有一道在advanced 130里的题不懂,求大神解答。题目是130-v2 的第80题, 如下:

80. The following SAS program is submitted:

%let rc = Begin;

%macro test;

  data out;

  set sashelp.prdsale nobs = totalobs;

  if totalobs > 10 then do;

    %let rc = high;

     end;

  else do;

    %let rc = low;

  end;

  run;

%mend;

%let rc = Before Execution;

%test


The data set SASHELP.PRDSALE has 50 observations. What is the value of the variable RC when the macro finishes execution?

A.low

B.high

C.Begin

D.Before Execution



答案是a,我也跑的程序的确是a。
请大神指教!
感谢!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:Advanced ADVANCE VANCE advan ance execution following

回帖推荐

xtang60 发表于3楼  查看完整内容

http://support.sas.com/resources/papers/proceedings10/028-2010.pdf 这篇文章里有解释
沙发
丁丁丫头 发表于 2016-4-20 05:54:34 |只看作者 |坛友微信交流群
自己顶一个!

使用道具

藤椅
xtang60 发表于 2016-4-21 07:33:10 |只看作者 |坛友微信交流群
http://support.sas.com/resources/papers/proceedings10/028-2010.pdf
这篇文章里有解释

使用道具

板凳
soporaeternus 发表于 2016-4-21 15:17:49 |只看作者 |坛友微信交流群
macro里是%let在做赋值,就可以不看data步语句,macro只是做了两个%let而已

使用道具

报纸
丁丁丫头 发表于 2016-4-25 07:48:52 |只看作者 |坛友微信交流群
xtang60 发表于 2016-4-21 07:33
http://support.sas.com/resources/papers/proceedings10/028-2010.pdf
这篇文章里有解释
找到原因了!这篇文章很赞!多谢!

使用道具

地板
丁丁丫头 发表于 2016-4-25 07:52:26 |只看作者 |坛友微信交流群
LZ自己顶一个!楼上的同学发的那篇文章解释的很好! 具体解释在7-8页的那个example里面。有同样问题的小伙伴们可以仔细看看就明白啦!

自己一直纠结为何是A而不是B。原因是因为macro(&let这种 statement)都在macro processor里处理了。而这一切都在data step真正compile之前发生了。

使用道具

7
tqiao1111 发表于 2017-7-22 02:45:53 |只看作者 |坛友微信交流群
顶!d=====( ̄▽ ̄*)b一个

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-5-2 18:46