全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
3688 7
2017-05-11
SAS crackman 70题里面的这一道题:


10.The following SAS program is submitted:

data WORK.RETAIL;
   Cost=\’$20.000\’;
   Discount=.10*Cost;
run;

What is the result?

     A. The value of the variable Discount in the output data set is 2000.No messages are written to the SAS log.
     B. The value of the variable Discount in the output data set is 2000.A note that conversion has taken place is written to the SAS log.
     C. The value of the variable Discount in the output data set is missing.A note in the SAS log refers to invalid numeric data.
     D. The variable Discount in the output data set is set to zero.No messages are written to the SAS log.

Answer: C


crackman建议改写成这样试试:
data WORK.RETAIL;
   Cost=\’20.000\';
   Discount=.10*Cost;
   Put Discount;
run;



但是看完后我还是有几个不明白的地方:
1.cost=那里的\’ \’是字符符号的意思吗?
2.在discount=那里是不是把cost直接从character转变为numerical value了?但是为什么原题答案还是discount会missing呢?
3.如果按照crackman的建议加上put discount这一行答案就是B了吗?可否讲解一下加上这一行的区别是?


谢谢!


二维码

扫码加我 拉你入群

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

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

全部回复
2017-5-11 23:43:03
你看到版本是错误的,没有//符号。
另外你可以试下'20000'和'$20,000'两种情况分别是什么答案。
至于put 那句就不知道意图是什么了。。。
二维码

扫码加我 拉你入群

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

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

2017-5-11 23:51:36
那是网站html编码显示格式不兼容,对照着其他版本原题看就明白了。
put是在log中打印结果。
二维码

扫码加我 拉你入群

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

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

2017-5-12 04:58:10
foocares 发表于 2017-5-11 23:51
那是网站html编码显示格式不兼容,对照着其他版本原题看就明白了。
put是在log中打印结果。
谢谢!所以‘$20000'其实并不能转化成数值的20000对吧?因为前面的$符号
二维码

扫码加我 拉你入群

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

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

2017-5-12 05:01:57
popodan 发表于 2017-5-11 23:43
你看到版本是错误的,没有//符号。
另外你可以试下'20000'和'$20,000'两种情况分别是什么答案。
至于put  ...
谢谢!想请问下‘20.000’和‘20,000'的表达是不是一样的呀?不知道句号会不会有什么影响
二维码

扫码加我 拉你入群

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

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

2017-5-12 11:16:28
SinkyQ 发表于 2017-5-12 04:58
谢谢!所以‘$20000'其实并不能转化成数值的20000对吧?因为前面的$符号
那倒不是,这里无论是用单引号还是双引号,目的都只是表明cost此处被赋值成了字符型。
这题真正的考点是:字符型变量被用在下一行的数学表达式里SAS会挖一个坑:叫做自动类型转换

如果符合标准格式,那么SAS从字符到数值类型的自动转换将会成功,比如里头是'20000'是可以的;
但如果是'$20000', 乃至'20,000',因为含有非数值符号$或者逗号,那么转换失败,cost被赋值为缺省的missing,连带Discount也因此变为missing.
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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