作者tew (咖啡王子)
看板Statistics
标题Re: [程式] SAS 抓取同ID不同时段的对象
时间Sun Aug 19 10:08:38 2018
/*
try this one
*/
data score;
input ID $ date score;
datalines;
AAA 1601 50
AAA 1607 40
BBB 1401 60
CCC 1802 70
AAA 1801 40
AAA 1803 30
;
run;
data score;
set score;
year=int(date/100);
month=mod(date,100);
newdate=mdy(month,1,year);
run;
proc sql;
create table dif6 as select
a.id,a.date,b.date as date2,a.score as score1,b.score as score2
/*
a.id,a.date,a.score-b.score as dif6
*/
from score as a, score as b
where a.id=b.id and intck('month',a.newdate,b.newdate)=6;
quit;
proc sql;
create table dif24 as select
a.id,a.date,b.date as date2,a.score as score1,b.score as score2
/*
a.id,a.date,a.score-b.score as dif24
*/
from score as a, score as b
where a.id=b.id and intck('month',a.newdate,b.newdate)=24;
quit;
※ 引述《say29217074 (:)))))》之铭言:
: [软体程式类别]:
: SAS
: [程式问题]:
: 资料处理
: [软体熟悉度]:
: 新手
: [问题叙述]:
: 各位大大好
: 我的资料有三列
: ID 日期 分数
: AAA 1601 50
: BBB 1401 60
: CCC 1802 70
: ..
: ..
: AAA 1803 30
: ...
: ID列是每个申请人的编号 日期是申请时间 分数是申请的分数
: 现在想看每个申请人在第一次申请/六个月後再次申请/24个月後若有再次申请的分数差异
: 但完全没有头绪该如何进行
: 不知道有没有人能提供一下意见
: [程式范例]:
:
--
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 111.249.217.10
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Statistics/M.1534644521.A.523.html
1F:推 say29217074: 太神啦 谢谢分享 08/20 10:05
2F:→ say29217074: 再研究一下为什麽要把一张table拆成两个 08/20 10:05
3F:→ say29217074: proc 那段 非常感谢 08/20 10:06
4F:→ say29217074: proc sql 08/20 10:06