楼主: 水晶石斑鱼
10297 3

请教一个if语句包含last.和first.的问题 [推广有奖]

  • 2关注
  • 0粉丝

博士生

94%

还不是VIP/贵宾

-

威望
0
论坛币
2867 个
通用积分
13.9185
学术水平
0 点
热心指数
1 点
信用等级
0 点
经验
8117 点
帖子
326
精华
0
在线时间
402 小时
注册时间
2009-8-31
最后登录
2024-9-22
毕业学校
暨南大学

楼主
水晶石斑鱼 发表于 2012-4-9 21:14:39 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
proc sort data=company.usa out=work.temp2;   
    by manager jobtype;  
   data company.budget2(keep=manager jobtype payroll);  
      set work.temp2;        by manager jobtype;     
   if wagecat='S' then Yearly=wagerate*12;     
   else if wagecat='H' then Yearly=wagerate*2000;     
   if first.jobtype then Payroll=0;     
   payroll+yearly;   
    if last.jobtype;     run;
关于这段代码,我想请教大家,最后一个if语句,当last.jobtype为真时,程序是执行run之后回到data步开始的地方吗?当它为假时程序去何处运行下一步?谢谢!
二维码

扫码加我 拉你入群

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

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

关键词:First Last FIRS FIR IRS 2000 manager payroll 下一步

THE SLEEPER HAS AWAKEN.

沙发
freerunning_sky 在职认证  发表于 2012-4-9 21:23:01
if last.jobtype then output的缩写,这和运行下一步有啥联系。。。。
执行run后都回到data步开始的地方吧

藤椅
priss111 发表于 2012-4-9 21:37:20
if last.jobtype then out;
表示累加后把最后一条观测输出(输出的数据集没有重复的jobtype);
若某个jobtype的取值没有重复的,
那first.=last.,
还是只输出该条观测.

板凳
水晶石斑鱼 发表于 2012-4-9 21:50:46
果然是省略了OUT。最后只是输出了last.jobtype为1的几条观测。谢谢各位了啊!
THE SLEEPER HAS AWAKEN.

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

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