由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Statistics版 - 帮忙看看这段SAS程序
相关主题
SAS ADV passed!!!请教:三道SAS BASE题
这段SAS程序怎么理解?[SAS] row merging
工作中的SAS 编程请教一个SAS问题, 做tumor efficacy的同志应该都见过
菜鸟的SAS问题,向高手求助求问一个SAS编程的问题
发包子求助SAS codeSAS adv question.请大家帮忙看看
【包子】SAS 日期和时间问题SAS ADV 63中的第一题
SAS问题再请教讨论3道SAS ADV题目
[求助]count coverage days请教一个看起来挺简单但我怎么也弄不出来的sas程序
相关话题的讨论汇总
话题: date话题: count话题: order话题: notsorted
进入Statistics版参与讨论
1 (共1页)
s******a
发帖数: 184
1
proc format;
   value  qtrfmt  ’01jan2002’ d - ’31mar2002’ d = ’1’
’01apr2002’ d - ’30jun2002’ d = ’2’
         ’01jul2002’ d - ’30sep2002’ d = ’3’
’01oct2002’ d - ’31dec2002’ d = ’4’;
run;
data company.quarters(keep=count order_date
rename=(order_date=Quarter));
set retail.orders;
format order_date qtrfmt.;
by  order_date  groupformat  notsorted;
where year(order_date)=2002;
if first.order_date then Count=0;
Count +1;
if last.order_date;
run;
我对这段程序有两个问题:
1) 我知道这三行
if first.order_date then Count=0;
Count +1;
if last.order_date;
是用来统计每个季度的购买量的。但我不太懂得是这个 “ if last.
order_date;”
起得是什么作用?
2)关于这个SAS程序的执行顺序可不可以这样理解:
by  order_date  groupformat  notsorted;
执行完后,数据retail.orders已经按order_date进行季度  分组了
if first.order_date then Count=0;
Count +1;
if last.order_date;
只是依次对分组后的每一行数据进行判断。
3)year(order_date)=2002这里的year( ) 是一个函数吗?
a*****3
发帖数: 601
2
放点数据近来罢
d******m
发帖数: 2333
3
if last是只output那个group里面的最后一行。
year是个function,提取年份。
1 (共1页)
进入Statistics版参与讨论
相关主题
请教一个看起来挺简单但我怎么也弄不出来的sas程序发包子求助SAS code
[合集] 问个SAS的问题【包子】SAS 日期和时间问题
SAS问题SAS问题再请教
请教SAS变量重命名[求助]count coverage days
SAS ADV passed!!!请教:三道SAS BASE题
这段SAS程序怎么理解?[SAS] row merging
工作中的SAS 编程请教一个SAS问题, 做tumor efficacy的同志应该都见过
菜鸟的SAS问题,向高手求助求问一个SAS编程的问题
相关话题的讨论汇总
话题: date话题: count话题: order话题: notsorted