data employees;
length emp_id $2. name $5. emp_type $4. emp_stat $8.;
input emp_id name emp_type emp_stat ;
datalines;
01 Sandy sea contrct
02 Dandy fte reg
03 Candy sea pttime
04 Mandy fte reg
;
data category;
length emp_cat1 $12
emp_cat2 $12;
retain emp_id
name;
set employees;
emp_cat1= catx(",", emp_type, emp_stat);
emp_cat2= catx(" ", emp_type, emp_stat);
drop emp_type emp_stat;
run;
data emp_tmp;
length emp_stat1 $12
emp_stat2 $12;
retain emp_id
name;
set category;
emp_stat1= compbl(tranwrd(emp_cat1, ",", ""));
emp_stat2= compbl(tranwrd(emp_cat2, "", ","));
run;
data emp;
length comma $12
blank $12;
retain emp_id
name
;
set emp_tmp;
comma= compbl(tranwrd(emp_stat1,"","," ));
blank= compbl(tranwrd(emp_stat2, ",",""));
drop emp_stat1 emp_stat2;
run;
The last step in the above code creates following table EMP:
The addition of blank (' ') between strings has returned a desired output. But the addition of comma(,) between strings has returned so many undesired commas. Main question/concern is how to remove the UNNECESSARY commas (especially at the end)in the data/records returned under the COMMA column? I can reduce the length of variable to 11 char to get rid of a comma (in the first row: sea, contrct,) but that won't solve the issues with the other rows that have shorter strings. There will still be unnecessary commas.
Any help would be greatly appreciated.
... View more