楼主: smyazh12
3015 7

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

  • 0关注
  • 0粉丝

博士生

8%

还不是VIP/贵宾

-

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

+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。

使用道具

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

使用道具

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

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-5-1 00:40