我是SAS的新手,正在尝试编写简单的代码。
原始数据:
TableA
ID |Date |Type
1 20111111 A
2 20081014 C
3 20051126 A
...
100 20160421 B
我要从原始数据中按类型提取日期。
喜欢关注
Result (only picking up A and B)
ID | DateofA | DateofB
1 | 20111111 |
2 | |
3 | 20051126 |
...
100 | | 20160421
有人可以这样做吗?
感谢您的进阶。
答案 0 :(得分:0)
有一种简单的方法可以使用Proc Transpose实现。要提取日期,您需要按ID对数据集进行排序。然后通过Id转置数据集(保持固定)。 Id语句还用于使用Type创建列。以下是我使用的方法:
data inp;
input Id 3. Date yymmdd8. type $2.;
type=strip(type);
format date date9.;
datalines;
1 20111111 A
2 20081014 C
3 20051126 A
4 20031212 B
5 20041127 C
6 20010904 A
7 20010803 C
8 20000702 B
9 19990601 A
10 19980701 C
;
run;
proc sort data=inp; by Id; run;
proc transpose data=inp
out=outp
NAME=Transposed_Col
prefix=DATEOf;
by Id;
id type;
run;