全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
1308 4
2019-04-01

第54题,下面是题目和crackman的解析,想问下关于 city 和state的长度是否被截断??

谢谢大神们!



54.Consider the following data step:

data WORK.TEST;

    setSASHELP.CLASS(obs=5);

    retain City'Beverly Hills';

   State='California';

run;

The computed variables City and State have their valuesassigned using two different methods, a RETAIN statement and an Assignmentstatement. Which statement regarding this program is true?

    A. The RETAINstatement is fine, but the value of City will be truncated to 8

bytes as the LENGTH statement has been omitted.

     B. Both theRETAIN and assignment statement are being used to initialize new

variables and are equally efficient. Method used is amatter of programmer preference.

     C. The assignmentstatement is fine, but the value of City will be truncated

to 8 bytes as the LENGTH statement has been omitted.

     D. City's value will be assigned one time,State's value 5 times.

   

Answer: D
其实这里考察的RETAIN到底是在非执行语句还是执行语句。
RETAIN的作用是初始化变量为特定的默认值,是非执行语句,在编译过程中,PDV中用特定的默认值替代SAS系统默认值。在DATA步中,加 STATE进入PDV中,STATE=’California’; 是赋值语句,也就是执行语句。每一次从SASHELP.CLASS读取数据之后,都要执行一次赋值语句。




二维码

扫码加我 拉你入群

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

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

全部回复
2019-4-2 18:25:07
city 和state的长度是否被截断??
二维码

扫码加我 拉你入群

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

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

2019-4-3 21:42:03
小沐君 发表于 2019-4-2 18:25
city 和state的长度是否被截断??
应该没有截断。SAS 对字符型新变量如果没有定义length, 那么在用retain, assignment对其赋值,这变量的长度就等于第一次赋的值的长度,
二维码

扫码加我 拉你入群

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

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

2019-4-4 11:14:05
xiaopingN 发表于 2019-4-3 21:42
应该没有截断。SAS 对字符型新变量如果没有定义length, 那么在用retain, assignment对其赋值,这变量的长 ...
多谢啦
二维码

扫码加我 拉你入群

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

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

2019-4-4 11:14:12
xiaopingN 发表于 2019-4-3 21:42
应该没有截断。SAS 对字符型新变量如果没有定义length, 那么在用retain, assignment对其赋值,这变量的长 ...
多谢啦
二维码

扫码加我 拉你入群

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

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

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

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