全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
2722 1
2019-01-18
悬赏 50 个论坛币 已解决
stkcdcdvalue
001

1

20

001

2

56

001

5

86

002

1

94

002

2

25

002

3

39

002

5

5

003

2

25

003

5

86

把以上数据变为
stkcdcdvalue
001

1

20

001

2

56

001

3

56

001

4

56

001

5

86

002

1

94

002

2

25

002

3

39

002

4

39

002

5

5

003

2

25

003

3

25

003

4

25

003

5

86

红色为添加部分,如何修改。

最佳答案

lyfyb99 查看完整内容

data aa; input stkcd cd value; cards; 1 1 20 1 2 56 1 5 86 2 1 94 2 2 25 2 3 39 2 5 5 3 2 25 3 5 86 ; run; proc sort data=aa; by stkcd cd; run; data bb; set aa; by stkcd cd; if first.stkcd ; do while (cd
二维码

扫码加我 拉你入群

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

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

全部回复
2019-1-18 23:53:51

data aa;
input stkcd        cd        value;
cards;
1        1        20
1        2        56
1        5        86
2        1        94
2        2        25
2        3        39
2        5        5
3        2        25
3        5        86
;
run;

proc sort data=aa;
by stkcd cd;
run;

data bb;
set aa;
by stkcd cd;
if first.stkcd ;
do while (cd<=5);
output;
cd=cd+1;
end;
keep stkcd cd;
run;

proc sql;
create table cc as
select a.*, b.value
from bb as a left join aa as b
on a.stkcd=b.stkcd and a.cd=b.cd
order by a.stkcd, a.cd;
quit;

data dd;
set cc;
by stkcd cd;
retain _value;
if value ne . then _value=value;
if value=. then value=_value;
drop _value;
run;
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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