SAS中文论坛

标题: 请教一个BASE70 问题 [打印本页]

作者: shiyiming    时间: 2011-2-9 22:08
标题: 请教一个BASE70 问题
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

请问为什么答案是A? City $ 1-12 ;后没有@ 呀。  else input; 怎么没有@1 State $2.;   谢谢。
作者: shiyiming    时间: 2011-2-11 16:41
标题: Re: 请教一个BASE70 问题
“City $ 1-12 ;”后面不需要“@”啊,转到下一行读,当 city=New York 时,读入 state,否则“else input;”读入空值。
作者: shiyiming    时间: 2012-3-11 13:46
标题: Re: 请教一个BASE70 问题
city的值都已经读入了。也就是第四行。如果符合条件,则在这一行输入state的值。没有必要写@啊! <!-- s:D --><img src="{SMILIES_PATH}/icon_biggrin.gif" alt=":D" title="Very Happy" /><!-- s:D -->




欢迎光临 SAS中文论坛 (http://www.mysas.net/forum/) Powered by Discuz! X3.2