全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
1060 3
2013-12-05
data1
iddatevalue

1

2000/12/3

1

2000/12/5

6

1

2000/12/8

7

2

2000/12/4

2

2000/12/6

2

3

2000/12/3

4

3

2000/12/7

5

3

2000/12/9

7


data2
iddate

1

2000/12/1

1

2000/12/2

1

2000/12/3

1

2000/12/4

1

2000/12/5

1

2000/12/6

1

2000/12/7

1

2000/12/8

1

2000/12/9

1

2000/12/10

2

2000/12/1

2

2000/12/2

2

2000/12/3

2

2000/12/4

2

2000/12/5

2

2000/12/6

2

2000/12/7

2

2000/12/8

2

2000/12/9

2

2000/12/10

3

2000/12/1

3

2000/12/2

3

2000/12/3

3

2000/12/4

3

2000/12/5

3

2000/12/6

3

2000/12/7

3

2000/12/8

3

2000/12/9

3

2000/12/10

    请问有没有办法合并出下面的结果,在第一项数值出现之前,value一项全部填零,在第一个数值出现之後,value一项一直填那个数字,直到更新为止。用merge, sql等什麽方法都没有所谓。感激不尽!!!!!


result
iddatevalue

1

2000/12/1

0

1

2000/12/2

0

1

2000/12/3

0

1

2000/12/4

0

1

2000/12/5

0

1

2000/12/6

6

1

2000/12/7

6

1

2000/12/8

7

1

2000/12/9

7

1

2000/12/10

7

2

2000/12/1

0

2

2000/12/2

0

2

2000/12/3

0

2

2000/12/4

0

2

2000/12/5

0

2

2000/12/6

2

2

2000/12/7

2

2

2000/12/8

2

2

2000/12/9

2

2

2000/12/10

2

3

2000/12/1

0

3

2000/12/2

0

3

2000/12/3

4

3

2000/12/4

4

3

2000/12/5

4

3

2000/12/6

4

3

2000/12/7

5

3

2000/12/8

5

3

2000/12/9

7

3

2000/12/10

7



二维码

扫码加我 拉你入群

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

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

全部回复
2013-12-5 08:40:17

data wanted;
    merge data1 data2;
        by id date;
        retain v;
        if first.id then v=value;
        if ^missing(value) then v=value;
        if missing(v) then v=0;
        drop value;
        rename v=value;
run;
二维码

扫码加我 拉你入群

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

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

2013-12-5 08:51:32
proc sql;
create table result as
select *
from data2 left join data1
on data1.id=data2.id
and data1.date=data2.data;
quit;
data reselt;
set reselt;
if  missing(value) then value=0;
run;
二维码

扫码加我 拉你入群

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

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

2013-12-5 12:49:29
复制代码
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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