首先,假设这个数据集是sas7bdat文件,数据集名字为a,字符串column的变量名为string。
/*1.生成数据集b,包含所有不同string有且只有一个*/
proc sql;
create table b as select distinct string from a;
quit;
/*2.对每个不同的string设定一个值,用变量num表示*/
data c;
set b;
if strip(string)="xxx" then num=1;
if strip(string)="xxxx" then num=2;
/*...以此类推,根据需要填写*/
run;
/*将num 变量lookup到原数据集*/
data d;
length num 8;
set a;
if _n_=1 then do;
declare hash a(dataset:"c");
a.definekey("string");
a.definedata("num");
a.definedone();
end;
rc=a.find();
run;
|