SAS中文论坛
标题:
关于用transpose转置的问题
[打印本页]
作者:
shiyiming
时间:
2009-4-3 12:17
标题:
关于用transpose转置的问题
我有这么一个数据集A,
id date price
601 20080101 11
601 20080102 15
601 20080103 12
602 20080102 21
602 20080104 15
我想把他转置成B1,
date 601 602
20080101 11 .
20080102 15 21
20080103 12 .
[b:1i991nsw]20080104 . 15 [/b:1i991nsw]
我用PROC TRANDPOSE在做(proc sort data=a;by date; run;
proc transpose data=a out=b;
by date;
var id;
run;
),但转置的时候由于源数据A的缺失值,无法达到数据集B1这样的输出要求,
转换出来的都是B2的这种形式:
date 601 602
20080101 11 .
20080102 15 21
20080103 12 .
[b:1i991nsw]20080104 15 . [/b:1i991nsw]
请高手指点。
data a;
input id $4 date yymmdd10. price ;
datalines;
601 20080101 11
601 20080102 15
601 20080103 12
602 20080102 21
602 20080104 15
;
run;
作者:
shiyiming
时间:
2009-4-6 06:50
标题:
Re: 关于用transpose转置的问题
Try this code
proc sort data=a;
by date price;
run;
proc transpose data=a out=b(drop=_name_);
var price;
by date ;
id id;
run;
proc print data=b;
run;
欢迎光临 SAS中文论坛 (https://mysas.net/forum/)
Powered by Discuz! X3.2