楼主: smyazh12
3356 7

Base SAS 第29题求解惑 [推广有奖]

  • 0关注
  • 0粉丝

已卖:155份资源

博士生

8%

还不是VIP/贵宾

-

威望
0
论坛币
13957 个
通用积分
34.4814
学术水平
1 点
热心指数
4 点
信用等级
1 点
经验
52852 点
帖子
115
精华
0
在线时间
319 小时
注册时间
2010-4-3
最后登录
2023-4-10

楼主
smyazh12 学生认证  发表于 2015-8-8 20:30:02 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
大家好,小弟备考Base 考试,第29题请求解惑。

data Work.INFO;
       infile 'DATAFILE.TXT';
       input @1 Company $20. @25 State $2. @;
       if State=' ' then input @30 Year;
       else input @30 City Year;
       input NumEmployees;
run;
How many raw data records are read during each iteration of the DATA step?
Answer: 2
请问有大侠能解惑吗? 真没看明白70题那个解释。
二维码

扫码加我 拉你入群

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

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

关键词:Base Employees iteration Data step Employee records during

沙发
jisile 发表于 2015-8-9 08:07:58
input @1 Company 20.@25State2. @; 这句末尾那个@是hold the line,就好像指针在这里先暂时不动,做一个条件判断(下两行),无论条件怎样,这个判断的结果都是在这一行数据的第30位读取一些值。当条件判断结束以后,因为末尾没有@,所以指针就到了下一行原数据去读取数据了。所以最后是读了两行的原数据。

藤椅
smyazh12 学生认证  发表于 2015-8-10 02:35:17
jisile 发表于 2015-8-9 08:07
input @1 Company 20.@25State2. @; 这句末尾那个@是hold the line,就好像指针在这里先暂时不动,做一个条 ...
谢谢你的回复。我有个笨问题哈。第30列要么是year,要么是city year。这我不太明白,同一个位置,为什么会有两个不同的数据呢?

板凳
jisile 发表于 2015-8-11 04:05:11
smyazh12 发表于 2015-8-10 02:35
谢谢你的回复。我有个笨问题哈。第30列要么是year,要么是city year。这我不太明白,同一个位置,为什么会 ...
因为前面有个if的条件,如果state没有值,那么后面的值会前移,所以if条件不一样,@30的变量也不一样

报纸
made 发表于 2015-11-26 20:55:49
jisile 发表于 2015-8-11 04:05
因为前面有个if的条件,如果state没有值,那么后面的值会前移,所以if条件不一样,@30的变量也不一样
那那个input NumEmployees怎么办呢

地板
风无人无 发表于 2016-9-26 09:25:08
我测试的是结果是:如果第一个input后有一个@那就读一条记录;如果没有@就读两条记录。

7
franky_sas 发表于 2016-9-26 11:40:14
input @1 Company $20. @25 State $2. @; # 读取两个字段,因为末尾有@,所以停在这一行。
       if State=' ' then input @30 Year;       # 做if判断,如果为真,读取同一行的Year字段。
       else input @30 City Year;                  # 做else判断,如果为真,读取同一行的City和Year两个字段,然后换行。
       input NumEmployees;                       # 读取下一行的第一个字段,然后这个iteration就结束了。

所以一共读取了两个record。

8
进击的小瓶盖 发表于 2016-9-26 13:40:23
franky_sas 发表于 2016-9-26 11:40
input @1 Company $20. @25 State $2. @; # 读取两个字段,因为末尾有@,所以停在这一行。
       if Stat ...
棒棒哒

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-22 03:50