楼主: qguo551
1540 4

[问答] 关于crackman 70题上的第十题问题 [推广有奖]

  • 0关注
  • 0粉丝

大专生

23%

还不是VIP/贵宾

-

威望
0
论坛币
883 个
通用积分
0
学术水平
0 点
热心指数
1 点
信用等级
0 点
经验
467 点
帖子
34
精华
0
在线时间
50 小时
注册时间
2018-5-19
最后登录
2021-10-17

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
在准备SAS BASE 认证的学习中必做的一项crackman70里面其中第10题,原题如下:


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
本文属于博客:http://crackman.net 版权归作者所有,如有转载,请注明出处!未经本作者同意不得用于商业应用。
其他本博客文章均作此声明!
本题考察是数据格式以及在表达式中的转换机制
DISCOUNT最终为缺失值.,也就是PDV初始值缺失值。
如果程序改成:
data WORK.RETAIL;
Cost=’20.000′;
Discount=.10*Cost;
Put Discount;
run;
结果由是如何呢?
读者自己运行一下!
结合前几个例子里面的MDY函数。


于是我确实自己去跑了一遍程序,发现并没有出现所谓的discount为缺失值,而是2,这是怎么回事呢?
二维码

扫码加我 拉你入群

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

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


沙发
Momocashew 发表于 2018-12-13 09:35:56 |只看作者 |坛友微信交流群
Discount=.10*Cost;
公式里有个点。。。

使用道具

藤椅
qguo551 发表于 2018-12-14 11:14:09 |只看作者 |坛友微信交流群
Momocashew 发表于 2018-12-13 09:35
Discount=.10*Cost;
公式里有个点。。。
这个点不是小数点的意思吗

使用道具

板凳
Momocashew 发表于 2018-12-14 12:18:44 |只看作者 |坛友微信交流群
qguo551 发表于 2018-12-14 11:14
这个点不是小数点的意思吗
是小数点,所以答案不就是2嘛。之前那个程序missing是因为Cost=’$20.000′;有特殊符号,不能加减乘除

使用道具

报纸
qguo551 发表于 2018-12-25 00:47:58 |只看作者 |坛友微信交流群
Momocashew 发表于 2018-12-14 12:18
是小数点,所以答案不就是2嘛。之前那个程序missing是因为Cost=’$20.000′;有特殊符号,不能加减乘除

...
原来如此,$

使用道具

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

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

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

GMT+8, 2024-4-26 10:25