test1:用户登陆数据,有登陆时间 用户名 登陆IP的数据
test2:用户购物数据,有购物时间 用户名 消费金额数据
- data test1;
- input time1 yymmdd10. user $2. ip $15.;
- format time1 yymmdd10.;
- cards;
- 2013/01/01 A 123.123.123.12
- 2013/01/02 B 123.123.123.13
- 2013/01/03 C 123.123.123.14
- 2013/01/04 A 123.123.123.15
- 2013/01/05 B 123.123.123.16
- 2013/01/06 C 123.123.123.17
- 2013/01/07 A 123.123.123.18
- 2013/01/08 B 123.123.123.19
- ;
- run;
- data test2;
- input time2 yymmdd10. user $2. cost;
- format time2 yymmdd10.;
- cards;
- 2013/01/05 A 120
- 2013/01/02 A 121
- 2013/01/04 C 122
- 2013/01/07 B 130
- ;
- run;
现在需要把两份数据进行合并,如上例中
test2第一行是A用户在1月5号购买物品,需要找到该用户在购买前的最后一次登陆,即test1中的第四行数据,并将IP数据匹配到TEST2表中
再例test2第二行是A用户在1月2号购买物品,需要找到该用户购物前最后一次登陆,即test1中的第一行数据,并将IP数据匹配到TEST2表中
最终的期望结果:
time2 user cost ip
数据量较大,不能用proc sql实现(会卡死),求助大神了。