Just to clarify, do you wish to: Replace the stored value of missing with a stored value of zero? Keep the stored value as missing, but display it with a "0" rather than a "."? A stored value of 0 (displayed as a 0) and a missing value displayed as a 0 are not the same thing. To display missing stored values as 0, see post #7. To replace text of ( . ) with text of ( 0 ), see post #6. data new(drop=i); set old; /* The following replaces stored numeric missings with stored values of 0 */ array MyNums _NUMERIC_ ; do i = 1 to dim(MyNums); MyNums=coalesce( MyNums , 0 ); end; /* The following replaces all occurrences of one character string with another */ array MyChars _CHARACTER_ ; do i = 1 to dim(MyChars); MyChars=tranwrd( MyChars, "( . )" /* Old text */ ,"( 0 )" /* New Text */ ); end; run; BTW, I cannot tell if your displays of missing contain one or two blanks either side of the period. It appears to be 2 on the left hand side, 1 on the right hand side?
... View more