- data obs;
- set aaa;
- obs=_n_;
- run;
- proc sql;
- create table fmtsort as
- select x, y, obs
- from obs
- group by x, y
- having obs=min(obs)
- order by x,obs;
- quit;
- data fmt;
- set fmtsort;
- by x obs;
- retain fmtname '$newvar';
- type='c';
- if _n_=1 then label=0;
- label+1;
- rename y=start;
- keep y label fmtname type;
- run;
- proc format cntlin=fmt;
- run;
- data wanted;
- set aaa;
- newvar=put(y,$newvar.)+0;
- run;