data ex;
infile "e:\x.txt" delimiter='@' lrecl=2000;
input x:$5000.;
run;
data ex1;
set ex;
array char(4) $ _temporary_ ('a','b','c','d');
do i=1 to dim(char);
name=char(i);
count=count(lowcase(x),compress(char(i)));
output;
end;
drop x i;
run;
data ex2;
infile "e:\x.txt" lrecl=2000;
input x:$20. @@;
x=compress(lowcase(x),'','p');
run;
proc sql;
create table ex3 as
select x,count(*) from ex2 group by x;
quit;
大体思想就是这样,有些细节可能还要加工一下