如果变量来自于b,那么e='b'
如果变量来自于c,那么e='c'
观测为原来的三倍(打个比方实际变量还要多)我能想到的是用宏程序如下:
- data x;
- input a $6. b $6. c $7.;
- cards;
- apple one dog
- orange two cat
- apple two rabbit
- peach three dog
- orange one dog
- ;
- run;
- %macro set(put,var,out);
- data x1;
- set x;
- keep &put;
- run;
- data &out;
- set x1;
- rename &put=d;
- e="&var";
- %mend set;
- %set(a,a,a);
- %set(b,b,b);
- %set(c,c,c);
- data final;
- set a b c;
- run;