作者kingbee ( 将心比心)
站内Statistics
标题Re: [问题] 新手求问─SAS资料处理问题
时间Fri Mar 20 11:18:21 2009
1.data datechange;
input date1 yymmdd10. date2 yymmdd10. date3 yymmdd10.;
changemonth=month(date3-date1);
label date1="起始日期" date2="结束日期"
date3="变更日期" changemonth="变更月数" ;
cards;
20000610 20010610 20000821
20010822 20020822 20020122
20030121 20040121 20031101
20030301 20040301 20030411
;
proc print label;
run;
2.
data date1;
input ID$ date1;
cards;
a1000 20010101
;
data date3;
input ID$ date3;
cards;
a1000 20010201
a1000 20010405
a1000 20010807
;
proc sort data=date1; by ID;
proc sort data=date3; by ID;
data mergedate;
update date3 date1 ; by ID;
label date1="起始日期" date3="变更日期" ;
proc print label;
run;
※ 引述《blackpiece (black)》之铭言:
: 我是刚接触sas的新手,很多语法还不是很熟悉
: 最近在处理资料时(资料档很庞大),遇到不少的问题
: 很需要各位高手的帮忙,指点一下。谢谢各位
: 1.在资料的变项中有
: (年度是从2000到2003年)
: 起始日期 结束日期 变更日期
: 20000610 20010610 20000821
: 20010822 20020822 20020122
: 20030121 20040121 20031101
: 20030301 20040301 20030411
: . . .
: . . .
: 请问想要列出每笔资料变更日期是起始日期的第几个月变更的资料。
: (如第1笔是第三个月内变更), 该怎麽写出程式语法?
: 2.如果我有两个资料档要合并
: (A档) (B档)
: 合约号码 起始日期 合约号码 变更日期
: a1000 20010101 a1000 20010201
: a1000 20010405
: a1000 20010807
: 我合并後呈现的是
: 合约号码 起始日期 变更日期
: a1000 20010101 20010201
: a1000 20010101 20010405
: a1000 20010101 20010807
: 该怎麽呈现出
: 合约号码 起始日期 变更日期
: a1000 20010101 20010201
: 20010405
: 20010807
: 拜托各位了,真是很感谢
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 163.29.135.120
※ 编辑: kingbee 来自: 163.29.135.120 (03/20 11:19)
1F:推 azimuth:原来可以用UPDATE 好方法 03/20 11:22