楼主: miraclescreator
1939 3

求助:SAS BASE PREP GUIDE21章第三题 为什么是C不是B [推广有奖]

  • 5关注
  • 3粉丝

已卖:239份资源

博士生

41%

还不是VIP/贵宾

-

威望
0
论坛币
990 个
通用积分
1.8500
学术水平
2 点
热心指数
2 点
信用等级
2 点
经验
1841 点
帖子
183
精华
0
在线时间
311 小时
注册时间
2009-2-2
最后登录
2024-1-24

楼主
miraclescreator 发表于 2010-9-19 11:28:07 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
如题,很是搞不清楚什么时候用@,什么时候用@@莫非 如果一行对应的只有2个数据就用@ 多于两个就是@@?

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

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

扫码加我 拉你入群

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

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

关键词:Prep Guide prep guid SAS base Guide Base 求助 SAS Guide Base Prep

沙发
miraclescreator 发表于 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

藤椅
hongbo2009 在职认证  发表于 2010-9-19 11:58:46
@在这里表示列停留,程序读完Name $ Month $并不跳转到下一列,故应使用@。仅供参考。

板凳
龙潭丰乐 学生认证  发表于 2013-1-13 00:57:22
c选项里面的可以使用dsd

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-31 07:17