全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
1255 4
2014-12-26
悬赏 30 个论坛币 已解决
请看sheet2

book1.rar

大小:8.27 KB

只需: 5 个论坛币  马上下载

本附件包括:

  • book1.xlsx

最佳答案

jl60156 查看完整内容

proc sql; create table test as select fcode, tcode, date1, min(date1) as mindt, max(date1) as maxdt from (select fcode, tcode, input(put(date,6.),yymmn6.) as date1 from YOURDATA) group by fcode order by fcode, tcode, date1; quit; data _null_; length fcode tcode date 8; format date yymmn6.; if _n_=1 then do; declare hash a(mu ...
二维码

扫码加我 拉你入群

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

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

全部回复
2014-12-26 12:09:38
proc sql;
     create table test as
           select  fcode, tcode, date1, min(date1) as mindt, max(date1) as maxdt
           from (select fcode, tcode, input(put(date,6.),yymmn6.) as date1 from YOURDATA)
           group by fcode
                order by fcode, tcode, date1;
quit;

data _null_;
length fcode tcode date 8;
format date yymmn6.;
if _n_=1 then do;
     declare hash a(multidata:'yes');
     a.definekey('fcode');
     a.definedata('fcode','date','tcode');
     a.definedone();
     call missing(fcode,date,tcode);
end;
     set test;
     by fcode tcode;
     retain date;
     if first.tcode then do; date=mindt; rc=a.add(); end;
     else do while(date<maxdt) ;
           date=intnx('month',date,6);
           rc=a.add();
     end;
     rc=a.output(dataset: 'want' );
run;
二维码

扫码加我 拉你入群

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

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

2014-12-26 13:17:32
你是说这个意思吗?

1. 先按照fcode组预读每组所有的date

2. 再按照 fcode组的date池 - tcode组的date池算出一个补,接到tcode中?

前面勉强看得明白的话,这句:对于11持有的1,(前面)要补齐199912 200006 200012
就完全看不明白了。
二维码

扫码加我 拉你入群

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

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

2014-12-26 15:01:24
Tigflanker 发表于 2014-12-26 13:17
你是说这个意思吗?

1. 先按照fcode组预读每组所有的date
根据11,看看开始的date最早为199912,最晚为200512。


对于11持有的1,前面要补齐199912 200006 200012,因为11的跨度为199912到200512  而持有的1跨度为200106到200512
二维码

扫码加我 拉你入群

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

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

2015-5-29 10:46:01
jl60156 发表于 2014-12-26 12:09
proc sql;
     create table test as
           select  fcode, tcode, date1, min(date1) as mindt, m ...
你好  ,能否解释一下data  _null_以后程序的运行思路   特别是declare  hash 这段
二维码

扫码加我 拉你入群

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

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

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群