↓↓↓↓(变成)↓↓↓↓
代码:
- data dat;
- input group $ X $;
- cards;
- A 1
- A 2
- B 3
- B 4
- C 5
- C 6
- ;
- run;
- data dat1;
- set dat;
- retain id;
- by group;
- if first.group then id=1; else id=id+1;
- run;
- proc sort;by id;run;
- data dat2;
- set dat1;
- retain A B C;
- by id;
- if group="A" then do; A=x;output;end;
- if group="B" then do; b=x;output;end;
- if group="C" then do; c=x;output;end;
- run;
- data dat3;
- set dat2;
- by id;
- if last.id;
- drop x group id ;
- run;
要求:不要利用生成多个数据集,然后merge的方法,因为如果组数很多时,会出现大量的中间数据集,是我们不想看到的