楼主: lcaamtb
7288 6

求SAS BASE 70题 第35题 详细解答 [推广有奖]

  • 0关注
  • 2粉丝

本科生

19%

还不是VIP/贵宾

-

威望
0
论坛币
87 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
1320 点
帖子
65
精华
0
在线时间
96 小时
注册时间
2012-11-23
最后登录
2015-3-26

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
35.given the SAS data set SASDATA.TWO:

  X  Y
  -- --
  5  2
  3  1
  5  6

The following SAS program is submitted:
  data SASUSER.ONE  SASUSER.TWO  OTHER;
     set SASDATA.TWO;
     if X eq 5 then output SASUSER.ONE;
     if Y lt 5 then output SASUSER.TWO;
     output;
  run;
What is the result?
     A.
data set SASUSER.ONE has 5 observations   
data set SASUSER.TWO has 5 observations
data set WORK.OTHER  has 3 observations

     B.
data set SASUSER.ONE has 2 observations   
data set SASUSER.TWO has 2 observations
data set WORK.OTHER  has 1 observations

     C.
data set SASUSER.ONE has 2 observations   
data set SASUSER.TWO has 2 observations
data set WORK.OTHER  has 5 observations

     D. No data sets are output. The DATA step fails execution due to syntax errors.

二维码

扫码加我 拉你入群

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

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

关键词:SAS base Base observations observation EXECUTION set following result

沙发
frankie-huang 发表于 2013-3-19 03:59:20 |只看作者 |坛友微信交流群
这里涉及到 两个 output
if 里面的output 把符合条件的记录输出到新dataset
最后的output 是重新把 sasdata.two 输出到各个新dataset,所以结果会是5、5、3

附赠大牛crackman的解释:
这道题是一个非常有意思的题。
其实考察的就是两个output语句对数据输出的影响。
下面对数据的执行过程进行解析:
程序编译之后,建立了PDV。
当从数据集SASDATA.TWO中读入第一条数据,
开始IF判断,判断为真就是OUTPUT到SASUSER.ONE数据集中。但是这里没有交代如果为假将会怎么样。我个人认为即使是假,也不会做任何处理。因为没有在假这个条件下的执行语句。
继续判断,如果Y lt 5 then output SASUSER.TWO;
记住一个点,也是PDV中,一条观测的在PDV中存在周期问题,如果OUTPUT出去了,是不是PDV中这一条数据就立即消失,全部为默认值了?这里就是 关键所在,我个人觉得这个时候PDV没有中新的SET SASDATA.TWO或者INPUT时候,PDV应该是保留上次的值。那么到了
OUTPUT语句时,其实默认输出到三个数据集中。
所以导致5 2 这条观测以及5 6 这条被输出两次到SASUSER.ONE,加上3 1这一条是通过最后一条OUTPUT语句输出的,所以就是5条。
同样SASUSER.TWO也是5条 OTHER是3条
已有 1 人评分学术水平 热心指数 信用等级 收起 理由
赵天静 + 2 + 3 + 3 精彩帖子

总评分: 学术水平 + 2  热心指数 + 3  信用等级 + 3   查看全部评分

使用道具

藤椅
lcaamtb 发表于 2013-3-19 22:48:18 |只看作者 |坛友微信交流群
Thanks! pinggu is very good.

使用道具

板凳
x1993119 发表于 2013-12-30 10:01:17 |只看作者 |坛友微信交流群
恩~好棒
没有梦想何必远方

使用道具

报纸
chesterwjq 发表于 2014-2-6 00:38:09 |只看作者 |坛友微信交流群
thank you

使用道具

地板
coldif 发表于 2016-12-11 18:11:37 |只看作者 |坛友微信交流群
厉害厉害,以解释清楚多了

使用道具

7
N次方1997 发表于 2017-8-3 16:33:39 |只看作者 |坛友微信交流群
懂了懂了,谢谢!

使用道具

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

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

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

GMT+8, 2024-4-28 21:35