请选择 进入手机版 | 继续访问电脑版
楼主: belindade
3646 4

[学习分享] SAS ADV 63题库q.59 [推广有奖]

  • 0关注
  • 2粉丝

博士生

59%

还不是VIP/贵宾

-

威望
0
论坛币
2223 个
通用积分
0.0051
学术水平
3 点
热心指数
4 点
信用等级
2 点
经验
20518 点
帖子
92
精华
0
在线时间
536 小时
注册时间
2006-1-20
最后登录
2018-12-16

belindade 发表于 2015-8-5 04:28:04 |显示全部楼层 |坛友微信交流群

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
学习中这道貌似很简单的题着实困扰了我好久,网上查找答案未果,最后自己终于搞懂了,相信有疑问的童鞋肯定不止我一个,这里专门发贴讲一下吧。
手册上说得很清楚,rename id, index file会自动updat到新名字,那么这个题目为什么选A?是答案错了还是手册错了?



答案是两者都木有错。 -_-||

A的确是正确的选项,运行一下程序就知道。先自生成一个带index的data set,然后再生成一个引用这个数据的data set, 并且rename indexed variable, 然后用proc contents来查看新数据,发现没有index。所以一定是A。

再做个简单的实验,生成一个新data set,在set语句中引用之前带index的数据,(不做任何动作,)然后再用proc contents来检查,会发现新数据仍然没有index。这时我们就明白原来根本dropping index和rename option无关, 而是在data step中使用set语句调用数据并不会把数据中的index copy到新数据中来。手册中说的情况大前提是使用proc datasets procedure!!!在datasets procedure 中使用rename statement更改variable,会自动update相关的index。


就是这么简单。。。看书的时候一定要把清脉络,如果只注意到细节忘了大前提,就会发生断章取义的错误!!!
二维码

扫码加我 拉你入群

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

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

关键词:Procedure statement Data step Variable contents contents file 程序 童鞋 网上

已有 1 人评分学术水平 热心指数 信用等级 收起 理由
vstalent + 1 + 1 + 1 精彩帖子

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

谢谢楼主!!!跟这道题死磕了一阵了,网上也找不到解答,正疑惑呢就翻到你的解释了!!谢谢分享!!

使用道具

gxnnhgm66 发表于 2015-8-14 23:19:37 |显示全部楼层 |坛友微信交流群
路过看看

使用道具

tydd1025 发表于 2015-8-22 23:05:36 |显示全部楼层 |坛友微信交流群
got it, thank you!               

使用道具

haowang1981 发表于 2017-11-2 16:45:53 |显示全部楼层 |坛友微信交流群
应该是data 语句新建了一个 test 文件,把原来的test文件覆盖了。

这里的set, data 都用了test文件。对于sas来说,是先建立一个源文件的copy,程序结束后,在把源文件覆盖掉。这时,index就被删除了。

如果你用proc datasets去做rename的话,index则是保留的。

使用道具

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

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

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

GMT+8, 2024-3-29 16:08