Desktop productivity for business analysts and programmers

Multiple lengths cause truncation of data

Frequent Contributor
Posts: 82

Multiple lengths cause truncation of data

[ Edited ]

I tried to use the following code to append tables:

data want;
set have1 have2 have3;

and then a warning message pops out:

WARNING: Multiple lengths were specified for the variable FirstName by input data set(s). This can cause truncation of data.


The column which has problems is either number or character. I'm wondering if there is a way to tell SAS to automatically use the larger lengths for that column.

Super User
Posts: 10,570

Re: Multiple lengths cause truncation of data

First of all, when you have variables of conflicting type (not content!) in your datasets, your data step will fail with an error. So you probably have character variables of differing length that contain numeric and alphanumeric values.


To get the maximum length automatically, use the dataset with the longest variable definition first in the set statement.


The proper method to handle all this is to make sure from the outset that your variables follow a common definition. Set the correct length upon creation or import from external data sources.

Maxims of Maximally Efficient SAS Programmers
How to convert datasets to data steps
How to post code
Super User
Super User
Posts: 9,840

Re: Multiple lengths cause truncation of data

As @KurtBremser has said, not knowing what structure your data is in comes from not processing it correctly in the first place.  What does your surrouding documentation state - i.e. import agreements, data definition documents, standard working practices, data modelling details etc.  Always be very explicit about everything, that way you never run into these situations.

Super User
Posts: 10,849

Re: Multiple lengths cause truncation of data

proc sql;
create table want as
 select *
  from have1
outer union  corr
 select *
  from have2
outer union  corr
 select *
  from have3
Ask a Question
Discussion stats
  • 3 replies
  • 4 in conversation