Hank First off, in the example you gave, in a SAS table a numeric missing value is usually represented by a dot/period. So if the data is already in a SAS table both 45 and . are of the same type. If your data is already in 64 SAS tables, each table will have consistent types for each column, and you can tell the type from proc contents of the data table. So even if the value looks like a character value (eg 12MAR45) it will just be the formatted representation of the underlying numeric value. Second, are you importing these tables from CSV or tab delimited files (or other text)? If so (and you are using SAS in Windows), there is a way of forcing the the data types on import. Do you want to force all variables to character or numeric? A macro solution using arrays may be possible but would need to be quite complex: detect which columns are of the wrong type detect which order they are in, in the program data vector for each table create new arrays of the required column types convert the data, dropping the 'old' columns renaming the new columns if required. Richard
... View more