全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
1912 3
2010-09-19
如题,很是搞不清楚什么时候用@,什么时候用@@莫非 如果一行对应的只有2个数据就用@ 多于两个就是@@?

还有SAS 70的第二题 请牛人来帮忙解答下吧。。。

另外 怎么么有人写SAS70的解析呢
二维码

扫码加我 拉你入群

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

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

全部回复
2010-9-19 11:34:59
Given the following raw data records in TEXTFILE.TXT:

  ----|----10---|----20---|----30
  John,FEB,13,25,14,27,Final
  John,MAR,26,17,29,11,23,Current
  Tina,FEB,15,18,12,13,Final
  Tina,MAR,29,14,19,27,20,Current

The following output is desired:

  Obs  Name  Month  Status    Week1   Week2   Week3   Week4   Week5

   1   John   FEB   Final       $13     $25     $14     $27       .
   2   John   MAR   Current     $26     $17     $29     $11     $23
   3   Tina   FEB   Final       $15     $18     $12     $13       .
   4   Tina   MAR   Current     $29     $14     $19     $27     $20

Which SAS program correctly produces the desired output?

        A.
data WORK.NUMBERS;
   length Name $ 4 Month $ 3 Status $ 7;
   infile 'TEXTFILE.TXT' dsd;
   input Name $ Month $;
   if Month='FEB' then input Week1 Week2 Week3 Week4 Status $;
   else if Month='MAR' then input Week1 Week2 Week3 Week4 Week5 Status $;
   format Week1-Week5 dollar6.;
run;
proc print data=WORK.NUMBERS;
run;

     B.
data WORK.NUMBERS;
   length Name $ 4 Month $ 3 Status $ 7;
   infile 'TEXTFILE.TXT' dlm=',' missover;
   input Name $ Month $;
   if Month='FEB' then input Week1 Week2 Week3 Week4 Status $;
   else if Month='MAR' then input Week1 Week2 Week3 Week4 Week5 Status $;
   format Week1-Week5 dollar6.;
run;
proc print data=WORK.NUMBERS;
run;

     C.
data WORK.NUMBERS;
   length Name $ 4 Month $ 3 Status $ 7;
   infile 'TEXTFILE.TXT' dlm=',';
   input Name $ Month $ @;
   if Month='FEB' then input Week1 Week2 Week3 Week4 Status $;
   else if Month='MAR' then input Week1 Week2 Week3 Week4 Week5 Status $;
   format Week1-Week5 dollar6.;
run;
proc print data=WORK.NUMBERS;
run;

     D.
data WORK.NUMBERS;
   length Name $ 4 Month $ 3 Status $ 7;
   infile 'TEXTFILE.TXT' dsd @;
   input Name $ Month $;
   if Month='FEB' then input Week1 Week2 Week3 Week4 Status $;
   else if Month='MAR' then input Week1 Week2 Week3 Week4 Week5 Status $;
   format Week1-Week5 dollar6.;
run;
proc print data=WORK.NUMBERS;
run;

Answer: C
二维码

扫码加我 拉你入群

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

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

2010-9-19 11:58:46
@在这里表示列停留,程序读完Name $ Month $并不跳转到下一列,故应使用@。仅供参考。
二维码

扫码加我 拉你入群

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

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

2013-1-13 00:57:22
c选项里面的可以使用dsd
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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