全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
2990 6
2018-10-10

sas base 70题的第53题原题如下:


The following SAS program is submitted:

  data WORK.TOTAL_SALARY;

     retain Total;

     set WORK.SALARY;

     by Department;

     ifFirst.Department

       then Total=0;

     Total=sum(Total,Wagerate);

     if Last.Total;

  run;

What is the initial value of the variableTotal?

A. 0

B. Missing

C. The value of the first observationsWagerate

D. Cannot be determined from theinformation given

答案:B


答案应该怎么解读?

这里面是因为by 的变量是department,所以last.total的值是miss,是这样吗?


二维码

扫码加我 拉你入群

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

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

全部回复
2018-10-10 13:39:32
注意变量Total在最开始的时候被retain了,retain语句如果最开始没有被指定initial value那么默认值为缺失值missing 捕获.PNG

二维码

扫码加我 拉你入群

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

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

2018-10-10 14:47:39
shuangyi_cao 发表于 2018-10-10 13:39
注意变量Total在最开始的时候被retain了,retain语句如果最开始没有被指定initial value那么默认值为缺失值 ...
是的,看到total开始被retain了,只是在编译过程中被赋缺失值,但是后面有total的sum,值不是也会改变?
主要是最后那个last.total,total没有被by,值是不是也是missing?

不好意思,我是菜鸟,感谢指导!!!
二维码

扫码加我 拉你入群

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

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

2018-10-11 13:16:13
吐丝结茧 发表于 2018-10-10 14:47
是的,看到total开始被retain了,只是在编译过程中被赋缺失值,但是后面有total的sum,值不是也会改变?
...
题目里问的是Total的初始值是什么,所以答案是选missing,这题主要考的就是retain语句如果不被赋予初始值的情况下的初始值为missing的考点。
题目里对程序的理解: 读取WORK.SALARY数据集里的数据并按department排序,如果当前读取的观测是每个department里的第一条观测,那么给变量total赋值为0,之后每执行下一条在同一个department里观测的时候因为total的值被保留了,所以每一条观测的total值等于当时total的值+此条观测Wagerate的值,最后if Last.Total;相当于if Last.Total=1,只输出每个department里最后的total的值,接下来到下一个department里面的第一条观测,total又为0,以此类推,所以total算的是每个department里wagerate的总和。
希望可以帮到你。
二维码

扫码加我 拉你入群

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

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

2018-10-11 23:09:15
太感谢了!
说实话,我是没看到问题里的“What is the initial value of the variableTotal?”,问的是初始值……
另外,还有个问题跟您请教,题目中的Last.Total值是缺失吗?还是0或1?我记得set...by...可以建立index,给first.total和last.total赋值,本题里并没有by total,所以结果也应该是missing吧?
二维码

扫码加我 拉你入群

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

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

2018-10-11 23:10:20
shuangyi_cao 发表于 2018-10-11 13:16
题目里问的是Total的初始值是什么,所以答案是选missing,这题主要考的就是retain语句如果不被赋予初始值 ...
太感谢了!
说实话,我是没看到问题里的“What is the initial value of the variableTotal?”,问的是初始值……
另外,还有个问题跟您请教,题目中的Last.Total值是缺失吗?还是0或1?我记得set...by...可以建立index,给first.total和last.total赋值,本题里并没有by total,所以结果也应该是missing吧?
二维码

扫码加我 拉你入群

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

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

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群