48.The following SAS program is submitted:
data WORK.TEST;
drop City;
infile datalines;
input
Name $ 1-14 /
Address $ 1-14 /
City $ 1-12 ;
if City='New York ' then input @1 State $2.;
else input;
datalines;
Joe Conley
123 Main St.
Janesville
WI
Jane Ngyuen
555 Alpha Ave.
New York
NY
Jennifer Jason
666 Mt. Diablo
Eureka
CA
;
What will the data set WORK.TEST contain?
A.
Name Address State
-------------- ---------------- ------
Joe Conley 123 Main St.
Jane Ngyuen 555 Alpha Ave. NY
Jennifer Jason 666 Mt. Diablo
B.
Name Address City State
-------------- ---------------- ----------- ------
Joe Conley 123 Main St. Janesville
Jane Ngyuen 555 Alpha Ave. New York NY
Jennifer Jason 666 Mt. Diablo Eureka
C.
Name Address State
-------------- ---------------- ------
Jane Ngyuen 555 Alpha Ave. NY
D. O observations,there is a syntax error in the data step.
Answer:A
本文属于博客:http://www.crackman.net/ 版权归作者所有,欢迎转载!如有转载,请务必注明出处!未经本文作者同意
不得用于商业应用。
这道题考察的时候INPUT语句中读入数据的指针走向,现在解析如下:
程序编译后,建立PDV,此时只有三个Name Address City ,在DATA步执行语句中加入另外一个变量STATE到PDV中。
Name $ 1-14 /
Address $ 1-14 /
City $ 1-12 ;
按照指定的列项读取每一行数据,/表示换行读取。
当CITY数据读入之后,指针进入下一行,就是WI,此时,根据判断,进入ELSE中的执行语句INPUT,此时的INPUT没有指定此行数据读
入PDV中那个变量,等于是让指针释放此行数据,进入下一个数据行。那么STATE为默认缺失值。重复前面的过程。
|