id date asset1 asset2
1 30-Jun-02 3238304000 3738303000
1 30-Dec-02 [color=#FF4000:qjuf1ink]3738303000[/color:qjuf1ink] 3933701000
1 30-Jun-03 3933701000 3460316000
1 30-Dec-03 [color=#FFFF00:qjuf1ink]3460316000[/color:qjuf1ink] 3076160000
即将上半年期的资产代替年总资产? 请问如何实现? 谢谢!这个只是部分数据,按照id sort 后应该可以完成其他的。
请指教!作者: shiyiming 时间: 2009-3-27 12:08 标题: Re: 数据合并 [code:bo99okey]
proc sql noprint;
create table b as
select id
, year(date) as year
, date, assert1
, assert2
from a
order by id, year, date
;
quit;
data b;
retain tmp 0;
set b;
by id year;
if first.year then tmp=asset2;
if last.year then asset1=tmp;
keep id date asset1 asset2;
run;
[/code:bo99okey]
没有验证过~~~
仅供参考。。作者: Qiong 时间: 2009-3-27 17:19 标题: Re: 数据合并 [code:11lzvzi6]data temp;
informat date date9.;
format date date9.;
input id $ date $ asset1 $ asset2 $;
cards;
1 30-Jun-02 3238304000 3738303000
1 30-Dec-02 3238304000 3933701000
1 30-Jun-03 3933701000 3460316000
1 30-Dec-03 3933701000 3076160000
;
run;
proc sort data=temp;
by id date;
run;
data temp1;
set temp;
temp=lag(asset2);
if month(date)=12 then asset1=temp;
drop temp;
run;[/code:11lzvzi6]作者: shiyiming 时间: 2009-3-28 09:10 标题: Re: 数据合并 谢谢。我再琢磨下,然后把方法都贴出来。